웹 주위에 많은 스레드가 있으며, Physijs Concave 메쉬는 collision으로 작동하지 않습니다. btBvhTriangleMeshShape는 bullet 관련 포럼에서 해당 주제를 검색 한 결과 ammo.js에서 collision으로 작동하지 않습니다. 나를 위해 일한 무엇
이
, btConvexHullShape입니다 : 복잡한 모델을 사용하는 경우, 낮은 폴리 모델을 만들 : threejs과 심령을 기반으로 3D를 학습하는 과정에서
var triangle, triangle_mesh = new Ammo.btTriangleMesh;
var btConvexHullShape = new Ammo.btConvexHullShape();
var _vec3_1 = new Ammo.btVector3(0,0,0);
var _vec3_2 = new Ammo.btVector3(0,0,0);
var _vec3_3 = new Ammo.btVector3(0,0,0);
for (i = 0; i < triangles.length; i++) {
triangle = triangles[i];
_vec3_1.setX(triangle[0].x);
_vec3_1.setY(triangle[0].y);
_vec3_1.setZ(triangle[0].z);
btConvexHullShape.addPoint(_vec3_1,true);
_vec3_2.setX(triangle[1].x);
_vec3_2.setY(triangle[1].y);
_vec3_2.setZ(triangle[1].z);
btConvexHullShape.addPoint(_vec3_2,true);
_vec3_3.setX(triangle[2].x);
_vec3_3.setY(triangle[2].y);
_vec3_3.setZ(triangle[2].z);
btConvexHullShape.addPoint(_vec3_3,true);
triangle_mesh.addTriangle(
_vec3_1,
_vec3_2,
_vec3_3,
true
);
}
return btConvexHullShape;
, 또한 다음과 같은 모범 사례를 언급 할 원래 모델 대신 해당 변환기 함수를 사용할 수 있습니다. 그렇지 않으면 스택 오버플로가 발생합니다.
상세한 메쉬를 사용하고 싶지는 않을 것입니다. (계산이 매우 빨라집니다.) 대개 낮은 계산량의 프록시 모델이 대신 계산에 사용됩니다. 시각적으로 너무 많은 차이를 만들지는 않을 것입니다. 낮은 폴리 카운트 메쉬를 만들기 위해서는 3D 모델링 소프트웨어가 필요합니다. 프로그래밍 방식으로 프로그래밍하는 것은 어렵습니다. 손으로 직접 만들면 결과를 미세하게 조정할 수 있습니다. – Leeft
@Leeft thanks 직접적인 접근 방식으로 계산상의 문제가 발생할 것으로 예상되지만 올바른 물리학이 프로젝트의 핵심이기 때문에 여전히 어떤 작업을 시작하고 싶습니다. 나는 다음 단계에서 low-poly approximation을 시도 할 것이다 (특히 신경 쓰이는 부분이 적다). 감사! –