問題タブ [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.
sprite-kit - SpriteKit で既に回転した別のテクスチャから回転したテクスチャを作成する方法
SKTexture
次のように、アトラスからロードされた別のテクスチャから作成された からスプライトを作成しています。
textureFromAtlas
アプリケーション バンドルのImages.atlascフォルダー内で、 Images.1.pngはMyImage.pngが回転したことを示し、 Images.plistはそのサブイメージに対してキーtextureRotatedが YES に設定されているため、たまたま回転しました。
MySprite
正しい回転になるように作成するにはどうすればよいですか?
(A)は、SpriteKit が自動回転を行うため、予想されるものです。 (B)は実際の結果です。つまり、上記のコードで得られるものです。
編集:
MyImage.pngのサイズを取得するためにいくつかのコードを追加する必要がありましたが、アトラスに含まれる回転されたものは、回転されているかどうかを確認し、新しい回転myRect
を計算して使用しますmySrpite
これにより、四角形がImage.1.pngの回転した画像の左上隅に効果的に「移動」されるため、 (A)mySprite
の画像になりますが、これは MyImage.png が完全に不透明であるか、透明な境界線。SpriteKit は透明度のある画像でいくつかの最適化を行い、textureRect はアトラスの実際のフレームよりも小さいためです。
three.js - 既存のテクスチャから 2D テクスチャを作成する
一連の医療画像 (jpg) を読み込み、各画像のテクスチャ オブジェクトを作成し、それらのテクスチャを 3D 平面に表示するアプリケーションがあります。画像の量は CT スキャナーの解像度に依存しますが、私のプロトタイプは最大 512 で動作するはずです。
追加のタスクとして、これらのテクスチャを使用して、別の 3D キャンバスでボリューム レンダリングを実行したいと考えています。
WebGL の 3D テクスチャの欠如に対処するすべてのアルゴリズムには、画像形式のテクスチャ アトラスが既に存在しているという「暗黙の」前提条件があります。
ただし、私の場合、そのようなアトラスはありません。
ハードウェアがこの 2D テクスチャ アトラスの結果のサイズをサポートすると仮定すると、既に読み込まれているテクスチャを 1 つの 2D テクスチャに調整してシェーダーに供給するにはどうすればよいでしょうか?
各画像のデータを 1 つの配列にマージし、それを使用して THREE.DataTexture を作成することを考えました。しかし、それを使用するテクスチャから画像のデータを読み取る方法が見つかりませんでした。ロードされた画像のデータを抽出する別の方法はありますか?
ios - Spritekit テクスチャ アトラスのトリミング / 透明度の問題
アトラスが作成されると、画像は次のようになることを理解しています:
a) 回転
b) 余分な透明ピクセルのトリミング
c) 色のフォーマットは変更される場合があります。
したがって、高さが 50 ピクセルの画像があり、画像の上部のみが単色で、下部が完全に透明であるとします。この画像は高さ 25 ピクセルでアトラスに保存され、透明なピクセルは破棄されます)。
私が理解に苦しむのは...
この画像をアトラスから画面に表示するとどうなるでしょうか?
元の画像 (高さが 25 ピクセルに縮小される前) の正確なコピーを取得する必要がありますか?
Xcode 6.x以下では、まさにそれが起こるようです:
- xcode 6 で画面全体をこの画像 (上部に 50% の単色、下部に 50% 透明) で塗りつぶすと、画面の上半分が単色で下部が透明になります。
最新の SDK を使用してまったく同じことを行うと、画面の上部 25% が透明になり、中央の 50% が単色になり、下部 25% が透明になります。
透明なピクセルが画像に追加されているのか、アトラスで現在見ているのとまったく同じ画像を実際に扱っているのか (透明なピクセルがトリミング/トリミングされている)、または画像がアトラスから戻ってくる m は、透明なスペースが両側に均等に返される私のイメージです (一方の側または他方の側にあります)。
何が起こっているのかを本当に理解したいと思います(現在はバグのようです)。
多くの人が、透明な空間の隅に 1% のアルファ ピクセルを使用して、イメージが希望どおりに正確に返されるようにすることを推奨していることは知っていますが、これは良い解決策ではないと思います (アトラス イメージが大きくなり、ピクセルがよく見ると 1% で表示されます)
これがバグであるかどうか、下に透明なピクセルがあるすべての画像が幅 x 高さフレームの下部にある画像を返す理由がある場合、誰か教えてもらえますか?
ios - spriteNode テクスチャをユニバーサルにするにはどうすればよいですか?
私は SpriteKit を使用してユニバーサル ゲームに取り組んでおり、画像は .gif にあります。@2x と @3x の通常の定義があります。アトラスの作成方法とアトラス間の変更方法を知る必要があります。デバイスが大きいか小さいか、およびどの定義 (@2x、@3x) がどのデバイスに対応しているか
java - TextureAtlas は Texture よりもフィルタリングが悪いですか?
texture.setFilter(linear, linear) で画像をフィルタリングすると、完全にフィルタリングされます。しかし、textureatlas に入れると、フィルターが悪化し、まだピクセル化が見られます。
以下のアプローチを試しましたが、うまくいきませんでした
また、.pack ファイルを編集してフィルターを次のように設定しようとしました: (これも機能しませんでした)
これらが失敗する理由を教えてください。
android - textureregion を使用して libgdx に画像を設定するにはどうすればよいですか
とをアプリでTexturePacker
使い始めたばかりです。TextureAtlas
TextureRegions
私は現在、カードと呼ばれるクラスを拡張しておりImage
、カードのグラフィックをアトラスの何かとして設定できるようにしたいと考えています。
Image
isの多くのコンストラクターの 1 つとしてカードを作成すると、これをうまく行うことができますImage(TextureRegion textureRegion)
。
ただし、ゲーム中にカードのグラフィックを変更する必要があり、これもアトラスから設定できる必要があります。
Image
私は現在、を設定することによってのみを変更する方法を見つけることができますDrawable
。
を使用してグラフィックを設定するコンストラクターがあるので、これが唯一のTextureRegion
方法ですか?
そうでない場合、どうすればいいですか?TextureRegion
をに変換できますDrawable
か? これをどこかにキャッシュしTextureRegion
て、Drawable
毎回処理を保存する必要がありますか? AssetManager
を与えるためにを使用しているTextureAtlas
ので、 のインスタンスは 1 つしかないと推測しますが、を に変換しTextureAtlas
続けなければならない場合は当てはまりません。これを自分でキャッシュする必要がありますよね?TextureRegion
Drawable