gpt4 book ai didi

javascript - 从 THREE.Mesh 或 THREE.Geometry 创建 CANNON.RigidBody

转载 作者:搜寻专家 更新时间:2023-11-01 04:36:54 24 4
gpt4 key购买 nike

我正在创建一个 THREE.Mesh使用 THREE.JSONLoader 的对象像这样的对象:

// Create castle.
loader.load('/Meshes/CastleTower.js', function(geometry, materials) {
var tmp_material = new THREE.MeshLambertMaterial();
THREE.ColorUtils.adjustHSV(tmp_material.color, 0, 0, 0.9);

var castle = new THREE.Mesh(geometry, tmp_material);
castle.scale.set(0.2, 0.2, 0.2);
castle.rotation.setX(-Math.PI/2);
scene.add(castle);
});

是否可以创建 CANNON.RigidBody来自 THREE.Mesh ( var castle ) 或 THREE.Geometry ( var geometry ) 对象? 另一种阅读方式是:How do you make any custom THREE.Mesh “实心”?

更新

我使用了 Blender,用盒子创建了一座新城堡,并且 exported它为 Three.js 格式。如果将质量设置为 0CANNON.Body , 它保持静止。 This完美地解决了...

最佳答案

我遇到了类似的问题,并使用以下两个函数从 THREE.Geometry(此处称为 geometry)创建了必要的“点”和“面”(如 Cannon 文档中所述):

cannonPoints = geometry.vertices.map(function(v) {
return new CANNON.Vec3( v.x, v.y, v.z )
})

cannonFaces = geometry.faces.map(function(f) {
return [f.a, f.b, f.c]
})

关于javascript - 从 THREE.Mesh 或 THREE.Geometry 创建 CANNON.RigidBody,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24543722/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com