将对象添加到Physijs.Scene THREE.Object3D.add时出错:对象不是THREE.Object3D的实例
我已经尝试过Physijs页面上的车辆示例,但相同的步骤不起作用。示例中的相关代码如下:
var loader = new THREE.JSONLoader();
loader.load( "models/mustang.js", function( car, car_materials ) {
loader.load( "models/mustang_wheel.js", function( wheel, wheel_materials ) {
var mesh = new Physijs.BoxMesh(
car,
new THREE.MeshFaceMaterial( car_materials )
);
mesh.position.y = 2;
mesh.castShadow = mesh.receiveShadow = true;
vehicle = new Physijs.Vehicle(mesh, new Physijs.VehicleTuning(
10.88,
1.83,
0.28,
500,
10.5,
6000
));
scene.add( vehicle );我的代码:
var physiBox = new Physijs.BoxMesh(
box.geometry,
box.material
);
physiBox.name = "PhysiBox";
var vehicle = new Physijs.Vehicle(physiBox, new Physijs.VehicleTuning(
10.88,
1.83,
0.28,
500,
10.5,
6000
));
scene.add(vehicle );值得一提的是,我可以通过传入vehicle.mesh来克服这个错误,但是车辆显然没有正确配置physijs。其他的Physijs网格似乎是THREE.Mesh的扩展,但不是Vehicle,这是导致问题的原因。
发布于 2019-05-28 06:49:41
这似乎是一个与Physijs:https://github.com/chandlerprall/Physijs/issues/282有关的已知问题
https://stackoverflow.com/questions/56333139
复制相似问题