2

私は現在 Android 用の JPCT を学習しています。いくつかのチュートリアルと例を読んだ後、誰もが次のようにシーンにオブジェクトとテクスチャを 1 つずつロードしていることに気付きました。

cube = loadModel(getAssets().open("cube.3ds"), 1);
TextureManager.getInstance().addTexture("tex", new Texture(getAssets().open("text.png")));
cube.setTexture("tex");
cube.build();
world.addObject(cube);

これにより、(Blender で作成した) 3ds ファイルが読み込まれ、テクスチャが適用されて、ワールドに配置されます。この 3ds ファイルに複数のオブジェクトがある場合、それらすべてにテクスチャが適用されます。わかりました、ここまでは問題ありません。

しかし、ゲームのシーンを作成するために同じファイルに何百ものオブジェクトがあり、それぞれが独自のテクスチャを持っているとしたらどうでしょうか?

それらとそのテクスチャを 1 つずつロードする必要がありますか?

これを自動化する方法はありますか?おそらく、テクスチャの関係を既に保持しているファイル形式か、そのようなものでしょうか?

どんな助けでも大歓迎です!

4

2 に答える 2

3

自分で解決策を見つけました!

次のように、テクスチャを手動でロードする必要はありません。

cube.setTexture("tex");

テクスチャ ファイル名を TextureManager に追加するときに Blender で割り当てられたものと同じにしておく限り:

TextureManager.getInstance().addTexture("text.png", new Texture(getAssets().open("text.png")));

そうすることで、Load メソッド自体がテクスチャを適用します。

于 2012-07-16T05:59:45.723 に答える