首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Three.js -如何替换Object3D的模型?

Three.js -如何替换Object3D的模型?
EN

Stack Overflow用户
提问于 2021-11-07 07:41:42
回答 1查看 139关注 0票数 0

我正在尝试用另一个character模型替换一个object3D,同时保留它的所有属性,比如位置

代码语言:javascript
复制
var object = new THREE.Object3D( );
object = models.character[0].clone( );
object.position.set( 100, 230, 15 );
scene.add( object.scene );

const clip = THREE.AnimationClip.findByName( object.animations, 'idle' );
var action = mixer.clipAction( clip );
action.play();

//...later on, replace the model, while keeping it's position

object = models.character[1].clone( );

如何替换THREE.Object3D( )的模型

EN

回答 1

Stack Overflow用户

发布于 2021-11-09 04:20:07

Object3D没有模型,因为它没有几何体或材质。这行代码不会做任何事情,因为您会立即用其他代码替换Object3D:

代码语言:javascript
复制
var object = new THREE.Object3D( );
object = models.character[0].clone( );

我认为您应该使用Mesh,它是Object3D的子类。现在,如果您想要更改Mesh的“模型”,您可以访问它的.geometry属性,并为它分配一个新的属性:

代码语言:javascript
复制
// This is the original geometry
const mesh = new THREE.Mesh(geometry, material);
mesh.position.set(100, 230, 15);

// Here we assign a new geometry to the Mesh
mesh.geometry = someOtherGeometry;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69870585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档