問題タブ [texture-atlas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
865 参照

sprite-kit - SpriteKit で既に回転した別のテクスチャから回転したテクスチャを作成する方法

SKTexture次のように、アトラスからロードされた別のテクスチャから作成された からスプライトを作成しています。

textureFromAtlasアプリケーション バンドルのImages.atlascフォルダー内で、 Images.1.pngMyImage.pngが回転したことを示し、 Images.plistはそのサブイメージに対してキーtextureRotatedが YES に設定されているため、たまたま回転しました。

MySprite正しい回転になるように作成するにはどうすればよいですか?

ここに画像の説明を入力

(A)は、SpriteKit が自動回転を行うため、予想されるものです。 (B)は実際の結果です。つまり、上記のコードで得られるものです。

編集:

MyImage.pngのサイズを取得するためにいくつかのコードを追加する必要がありましたが、アトラスに含まれる回転されたものは、回転されているかどうかを確認し、新しい回転myRectを計算して使用しますmySrpite

これにより、四角形がImage.1.pngの回転した画像の左上隅に効果的に「移動」されるため、 (A)mySpriteの画像になりますが、これは MyImage.png が完全に不透明であるか、透明な境界線。SpriteKit は透明度のある画像でいくつかの最適化を行い、textureRect はアトラスの実際のフレームよりも小さいためです。

0 投票する
1 に答える
1091 参照

three.js - 既存のテクスチャから 2D テクスチャを作成する

一連の医療画像 (jpg) を読み込み、各画像のテクスチャ オブジェクトを作成し、それらのテクスチャを 3D 平面に表示するアプリケーションがあります。画像の量は CT スキャナーの解像度に依存しますが、私のプロトタイプは最大 512 で動作するはずです。

追加のタスクとして、これらのテクスチャを使用して、別の 3D キャンバスでボリューム レンダリングを実行したいと考えています。

WebGL の 3D テクスチャの欠如に対処するすべてのアルゴリズムには、画像形式のテクスチャ アトラスが既に存在しているという「暗黙の」前提条件があります。

ただし、私の場合、そのようなアトラスはありません。

  1. ハードウェアがこの 2D テクスチャ アトラスの結果のサイズをサポートすると仮定すると、既に読み込まれているテクスチャを 1 つの 2D テクスチャに調整してシェーダーに供給するにはどうすればよいでしょうか?

  2. 各画像のデータを 1 つの配列にマージし、それを使用して THREE.DataTexture を作成することを考えました。しかし、それを使用するテクスチャから画像のデータを読み取る方法が見つかりませんでした。ロードされた画像のデータを抽出する別の方法はありますか?

0 投票する
0 に答える
249 参照

ios - Spritekit テクスチャ アトラスのトリミング / 透明度の問題

アトラスが作成されると、画像は次のようになることを理解しています:

a) 回転

b) 余分な透明ピクセルのトリミング

c) 色のフォーマットは変更される場合があります。

したがって、高さが 50 ピクセルの画像があり、画像の上部のみが単色で、下部が完全に透明であるとします。この画像は高さ 25 ピクセルでアトラスに保存され、透明なピクセルは破棄されます)。

私が理解に苦しむのは...

この画像をアトラスから画面に表示するとどうなるでしょうか?

元の画像 (高さが 25 ピクセルに縮小される前) の正確なコピーを取得する必要がありますか?

Xcode 6.x以下では、まさにそれが起こるようです:

  • xcode 6 で画面全体をこの画像 (上部に 50% の単色、下部に 50% 透明) で塗りつぶすと、画面の上半分が単色で下部が透明になります。

最新の SDK を使用してまったく同じことを行うと、画面の上部 25% が透明になり、中央の 50% が単色になり、下部 25% が透明になります。

透明なピクセルが画像に追加されているのか、アトラスで現在見ているのとまったく同じ画像を実際に扱っているのか (透明なピクセルがトリミング/トリミングされている)、または画像がアトラスから戻ってくる m は、透明なスペースが両側に均等に返される私のイメージです (一方の側または他方の側にあります)。

何が起こっているのかを本当に理解したいと思います(現在はバグのようです)。

多くの人が、透明な空間の隅に 1% のアルファ ピクセルを使用して、イメージが希望どおりに正確に返されるようにすることを推奨していることは知っていますが、これは良い解決策ではないと思います (アトラス イメージが大きくなり、ピクセルがよく見ると 1% で表示されます)

これがバグであるかどうか、下に透明なピクセルがあるすべての画像が幅 x 高さフレームの下部にある画像を返す理由がある場合、誰か教えてもらえますか?

0 投票する
1 に答える
63 参照

ios - spriteNode テクスチャをユニバーサルにするにはどうすればよいですか?

私は SpriteKit を使用してユニバーサル ゲームに取り組んでおり、画像は .gif にあります。@2x と @3x の通常の定義があります。アトラスの作成方法とアトラス間の変更方法を知る必要があります。デバイスが大きいか小さいか、およびどの定義 (@2x、@3x) がどのデバイスに対応しているか

0 投票する
0 に答える
89 参照

java - TextureAtlas は Texture よりもフィルタリングが悪いですか?

texture.setFilter(linear, linear) で画像をフィルタリングすると、完全にフィルタリングされます。しかし、textureatlas に入れると、フィルターが悪化し、まだピクセル化が見られます。

以下のアプローチを試しましたが、うまくいきませんでした

また、.pack ファイルを編集してフィルターを次のように設定しようとしました: (これも機能しませんでした)

これらが失敗する理由を教えてください。

0 投票する
1 に答える
1388 参照

android - textureregion を使用して libgdx に画像を設定するにはどうすればよいですか

とをアプリでTexturePacker使い始めたばかりです。TextureAtlasTextureRegions

私は現在、カードと呼ばれるクラスを拡張しておりImage、カードのグラフィックをアトラスの何かとして設定できるようにしたいと考えています。

Imageisの多くのコンストラクターの 1 つとしてカードを作成すると、これをうまく行うことができますImage(TextureRegion textureRegion)

ただし、ゲーム中にカードのグラフィックを変更する必要があり、これもアトラスから設定できる必要があります。

Image私は現在、を設定することによってのみを変更する方法を見つけることができますDrawable

を使用してグラフィックを設定するコンストラクターがあるので、これが唯一のTextureRegion方法ですか?

そうでない場合、どうすればいいですか?TextureRegionをに変換できますDrawableか? これをどこかにキャッシュしTextureRegionて、Drawable毎回処理を保存する必要がありますか? AssetManagerを与えるためにを使用しているTextureAtlasので、 のインスタンスは 1 つしかないと推測しますが、を に変換しTextureAtlas続けなければならない場合は当てはまりません。これを自分でキャッシュする必要がありますよね?TextureRegionDrawable