我正在制作3D游戏,并在寻找将地板作为3D一部分的最佳方法。如果您想象那些像TempleRun这样的游戏,但是没有转弯,那么您将向前移动并且地板无限地向后滚动(朝着用户)。
我已经使我的3D对象适当地绕X轴移动(在固定的Z平面上),但是现在正在考虑添加背景,地板等。
我一直在阅读Decal
和Plane
,但不确定哪种方法最好。我在每个级别上都具有相同的地板结构,但是具有不同的纹理。将来会提供更多的可扩展性吗?例如,斜坡,丘陵等。每个地板结构(无论是Decal
还是Plane
)都会无休止地重复,我想知道是否可以创建雾化效果以使地板随着距离而褪色。同样,它将具有向后重复的图素纹理(例如草,柏油碎石,污垢)。
也许甚至是静态结构,而只是将纹理向后移动?
任何想法都会很棒,谢谢。
最佳答案
您可能使用Plane
(Like explained here)制作了某些meshpartbuilder
,甚至使用Blender之类的应用程序制作了Model
。
由于您可以在一个ModelInstance
中创建多个Model
并为其指定不同的Material
,因此您可以反复使用相同的Model
。因此,您可以在XZ平面上创建一个4x4米(例如)大Model
(它将只有1个面)。接下来,您创建10个ModelInstance
,并将它们彼此添加:
第一平面:x = 0-4m,y = 0-0,z = 0-4m
第二平面:x = 4-8m,y = 0-0,z = 0-4m
等等。一旦角色的X位置> 4,就可以将translate
ModelInstance firstPlane
向前移至第十个平面的末端。因此其新的x
为44-48米。
一旦达到新的水平或新的水平,或者您可以简单地更改Material
的ModelInstance
。
对于背景,我建议阅读有关SkyBox
es的内容。
希望我能帮上忙
关于java - libgdx 3d无限滚动地板,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22859197/