如何在3D模型中为纹理设置动画?

黑暗火焰

我希望我的LibGDX代码中具有动画3d纹理,但是我正在努力寻找方法。

我认为该“应该”如何完成。

a)直接访问和修改模型上的纹理。(通过像素图或ByteBuffer?)

或者

b)预渲染包含所有帧的大图像(例如20),然后移动UV坐标以创建动画的幻觉。(类似于2d / webdesign中的ImageStrips)。

我确实想出了如何每次都可以完全替换材料的方法,但这似乎是一种糟糕得多的方法。因此,如果有人可以显示我需要执行a)或b)的命令(或类似的最佳方法),我将大失所望。我很喜欢数学。OpenGLES或GDX的复杂性我不是:)

(该解决方案至少应能运行HTML / Android,最好是所有版本)

从最新版本开始,在3d曲面上播放2d动画非常容易。首先,请确保熟悉2D动画概念,如此处所述:https : //github.com/libgdx/libgdx/wiki/2D-Animation然后,代替使用spritebatch,可以使用TextureRegionAnimation#getKeyFrame返回)设置表面材质,如下所示:https : //github.com/libgdx/libgdx/blob/master/tests/gdx-tests/ src / com / badlogic / gdx / tests / g3d / TextureRegion3DTest.java因此,基本上,您可以使用render方法:

attribute.set(animation.getKeyFrame(stateTime, true));

或者,如果您想要更通用的方法:

instance.getMaterial("<name of material>").get(TextureAttribute.class, TextureAttribute.Diffuse).set(animation.getKeyFrame(stateTime, true));

或者,如果ModelInstance中只有一种材料:

instance.materials.get(0).get(TextureAttribute.class, TextureAttribute.Diffuse).set(animation.getKeyFrame(stateTime, true));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在OpenGL中为3D模型(网格)设置动画?

来自分类Dev

如何在Unity3D中为2D云设置动画?

来自分类Dev

如何在Bootstrap 3中为进度栏设置动画?

来自分类Dev

如何在d3中为元素设置动画以跟随圆弧的质心?

来自分类Dev

如何在d3中为路径及其点设置动画

来自分类Dev

如何在d3中为元素设置动画以跟随圆弧的质心?

来自分类Dev

如何在Matplotlib中更新3D箭头动画

来自分类Dev

如何在opengl中为3d对象设置原点

来自分类Dev

如何在WPF 3d中调整模型大小?

来自分类Dev

如何在颤振中显示 3D 模型?

来自分类Dev

更改3D模型的纹理图像

来自分类Dev

OpenGL 3D模型纹理

来自分类Dev

如何在r2d3中使用d3为轴过渡设置动画?

来自分类Dev

如何在r2d3中使用d3为轴过渡设置动画?

来自分类Dev

如何为3D中的QML旋转动画设置动画和正确插入

来自分类Dev

如何分别对3D模型进行纹理化(使用不同的纹理文件)?

来自分类Dev

如何分别对3D模型进行纹理化(使用不同的纹理文件)?

来自分类Dev

如何在D3中为文本锚定动画

来自分类Dev

如何在libgdx 3D中使用TextureAtlas中的纹理

来自分类Dev

如何在OpenGL中的3D对象上应用纹理

来自分类Dev

如何在OpenGL中处理纹理动画?

来自分类Dev

如何缓存3D纹理内存?

来自分类Dev

是否可以在JavaFX 8中创建没有纹理的3d模型?

来自分类Dev

A-Frame 中导入的 3D 模型中的视频纹理

来自分类Dev

如何在Unity 3D中控制动画SVG?

来自分类Dev

如何在Zazzle中复制滑动片段3D动画

来自分类Dev

如何在cocos2d中为共享一个着色器的精灵设置不同的纹理

来自分类Dev

如何在Unity 2D中为按钮设置动画?

来自分类Dev

如何在Python上制作3D图形动画

Related 相关文章

热门标签

归档