我是一个新手,之前接触的是AS3/Away3D技术。我正在尝试创建一个自定义对象类,它继承了THREE.Object3D以添加到我的场景中。CustomObject将封装大量的行为属性和方法。理想情况下,我希望为每个CustomObject传递它自己的数据对象,以确定它如何显示/移动/表现。通过封装这些代码,可以让我的main.js更加整洁。
我的问题是我似乎无法直接向场景中添加类的实例。我只能通过CustomObject.getMesh()方法添加网格。是否可能直接向场景中添加类的实例进行渲染?下面是我从网络上和/src中找到的示例:
我的问题是我似乎无法直接向场景中添加类的实例。我只能通过CustomObject.getMesh()方法添加网格。是否可能直接向场景中添加类的实例进行渲染?下面是我从网络上和/src中找到的示例:
function CustomObject(){
THREE.Object3D.call( this );
this.type = 'CustomObject';
this.geometry = new THREE.BoxGeometry( 540, 540, 14 );
this.mesh = new THREE.Mesh( this.geometry, new THREE.MeshLambertMaterial( { color: 0xff0000 } ) );
}
CustomObject.prototype = Object.create( THREE.Object3D.prototype );
CustomObject.prototype.constructor = THREE.Object3D;
CustomObject.prototype.getMesh = function(){
return this.mesh;
}
我希望能直接将CustomObject类添加到场景中,以使对象管理更加简洁。请问有人知道如何实现吗?
非常感谢!
David