小编Sch*_*irk的帖子

如何克隆蒙皮网格?

我需要在场景中拥有多个相同的动画模型.如果可能的话,我希望他们有一个共享的几何和材料,但如果不可能,那么每个模型实例化它们就足够了.

不幸的是,我发现实现这个结果的唯一方法是为每个模型实例通过JSONLoader.

SkinnedMesh确实有一个clone()方法,但似乎还没有完全实现.如果使用并且场景中存在原始网格和克隆网格,则只会出现一个,克隆一个将没有动画.

我试图将此示例用于共享框架:https: //github.com/mrdoob/three.js/pull/11666

......确实它有效,但我需要能够为每个模型实例播放不同的动画,让它们都玩相同的动画是不够的,遗憾的是.我希望我可以做类似的hax并插入我自己的骨架(由JSON文件中的骨骼制成),但它的表现非常类似于我只使用了SkinnedMesh中的clone().

我正在使用此代码:https: //github.com/arturitu/threejs-animation-workflow/blob/master/js/main.js

基本上我想要实现的是

 var onLoad = function (geometry, materials) {
window.geometry = geometry;

character = new THREE.SkinnedMesh(
  geometry,
  new THREE.MeshFaceMaterial(materials)
);

character2 = character.someMagicalClone();

scene.add(character);
scene.add(character2);

(...)
Run Code Online (Sandbox Code Playgroud)

我需要任何线索......当我等待帮助时,我忙着解构SkinnedMesh和JSONLoader的构造函数以获取线索;)

提前致谢!

animation three.js

5
推荐指数
1
解决办法
321
查看次数

标签 统计

animation ×1

three.js ×1