首先關於貼花,貼花像精靈,但在三維座標,使用這樣的:
私人貼花貼花; 私人DecalBatch decalBatch;
在顯示
()或創建()
decalBatch = new DecalBatch();
CameraGroupStrategy cameraGroupStrategy = new CameraGroupStrategy(camera);
decal = Decal.newDecal(textureRegion, true);
decal.setPosition(5, 8, 1);
decal.setScale(0.02f);
decalBatch.setGroupStrategy(cameraGroupStrategy);
在渲染()
//Add all your decals then flush()
decalBatch.add(decal);
decalBatch.flush();
也與decalBatch.dispose處置
();
請注意,在未來的貼花將是3D的一部分,我個人不鼓勵你使用貼花作爲我自己使用3D平面,我看到它的一些問題,使用3D平面使用像這些,我貼了一些我的這裏代碼
private Model createPlaneModel(final float width, final float height, final Material material,
final float u1, final float v1, final float u2, final float v2) {
modelBuilder.begin();
MeshPartBuilder bPartBuilder = modelBuilder.part("rect",
GL10.GL_TRIANGLES, Usage.Position | Usage.Normal | Usage.TextureCoordinates,
material);
//NOTE ON TEXTURE REGION, MAY FILL OTHER REGIONS, USE GET region.getU() and so on
bPartBuilder.setUVRange(u1, v1, u2, v2);
bPartBuilder.rect(
-(width*0.5f), -(height*0.5f), 0,
(width*0.5f), -(height*0.5f), 0,
(width*0.5f), (height*0.5f), 0,
-(width*0.5f), (height*0.5f), 0,
0, 0, -1);
return (modelBuilder.end());
}
紋理可以作爲屬性材料
material.set(new TextureAttribute(TextureAttribute.Diffuse, texture)
對於已經阿爾法添加到其他屬性透明平面
attributes.add(new BlendingAttribute(color.getFloat(3)));
attributes.add(new FloatAttribute(FloatAttribute.AlphaTest, 0.5f));
material.set(attributes);
初始化的ModelInstance與ModelBatch對象
modelBatch.render(modelInstance);
看到這些鏈接也得到一個返回
渲染渲染)模型(。 http://www.badlogicgames.com/forum/viewtopic.php?f=11&t=11884
這是我對平面基準VS貼花 http://www.badlogicgames.com/forum/viewtopic.php?f=11&t=12493
因此,在這一刻,我不應該使用貼花?使用MeshPartBuilder,我可以在3D空間中構建2D矩形?多數民衆贊成我正在尋找,因爲我想創建tilebased地板。通過這種方法,每塊瓷磚都將作爲材質的矩形。我對嗎? – Springrbua
你可以使用任何你想要的東西,這取決於你的使用情況,如果你有很多的透明的然後使用飛機,否則使用貼花或模型,也注意如果你想渲染精靈,然後在模型批次後添加精靈,順序是重要的,因爲我寫了你可以同時使用貼花和模型貼花有點記憶友好,但你應該測試兩個看看什麼對你有好處。請注意,如果您在u中添加更高的值,並且v您有重複的紋理。 – daniel
+1。非常感謝。我會嘗試。 – Springrbua