저는 babylonjs 3D WebGL 라이브러리를 사용하고 있습니다.Babylon.js에 사용자 정의 메쉬를 만드는 방법은 무엇입니까?
훌륭한 라이브러리이지만 THREE.JS 라이브러리에있는 동일한 라이브러리를 찾을 수 없습니다.
예를 들어, 데이터베이스에 2D 폴리곤이 있고, 그곳에서 다각형 데이터를 가져온 다음 사용자 지정 메쉬를 만들고 돌출시킵니다. three.js를 가진
이, 어떤 문제가 아니라, 좀 배열에 추가 할 수 있습니다
...
points.push(new THREE.Vector2(part.x, -part.y));
...
var shape = new THREE.Shape(points);
var extrusion = {
amount: building.height,
bevelEnabled: false
};
var geometry = new THREE.ExtrudeGeometry(shape, extrusion);
var mesh = new THREE.Mesh(geometry, new THREE.MeshLambertMaterial({
ambient: 0xbbbbb,
color: 0xff0000
});
...
scene.add(mesh);
그것은 매우 간단합니다. 같은 것을하는 방법, 나는 찾을 수 없었다.
나는 단지 몇 가지 정보를 여기 발견했습니다 (MSDN에서 Ctrl 키 + F로 ->You can also create a mesh from a list of vertices and faces
) 등의 예와
:
var plane = new BABYLON.Mesh(name, scene);
var indices = [];
var positions = [];
var normals = [];
var uvs = [];
// Vertices
var halfSize = size/2.0;
positions.push(-halfSize, -halfSize, 0);
normals.push(0, 0, -1.0);
uvs.push(0.0, 0.0);
positions.push(halfSize, -halfSize, 0);
normals.push(0, 0, -1.0);
uvs.push(1.0, 0.0);
positions.push(halfSize, halfSize, 0);
normals.push(0, 0, -1.0);
uvs.push(1.0, 1.0);
positions.push(-halfSize, halfSize, 0);
normals.push(0, 0, -1.0);
uvs.push(0.0, 1.0);
// Indices
indices.push(0);
indices.push(1);
indices.push(2);
indices.push(0);
indices.push(2);
indices.push(3);
plane.setVerticesData(positions, BABYLON.VertexBuffer.PositionKind);
plane.setVerticesData(normals, BABYLON.VertexBuffer.NormalKind);
plane.setVerticesData(uvs, BABYLON.VertexBuffer.UVKind);
plane.setIndices(indices);
return plane;
하지만 THREE.JS와 같은 것이 아닙니다. 예를 들어 인덱스 버퍼를 수동으로 계산해야하는데, THREE.JS에서는 필요하지 않습니다. 또한 평면 만있는 샘플이고 정확한 돌출 정보를 찾지 못했습니다.
그래서 ... 바빌론에는 몇 가지 쉬운 방법이 있습니까?
-1 이것은 질문에 대답하지 않습니다. 다른 포럼에서 답변에 링크 할 수도 있습니다. ** IF **는 자신의 게시물에도 답변을 포함합니다. 다른 포럼의 방문 페이지로 연결되는 링크는 이러한 정보를 제공하지 않습니다. –
죄송합니다. 나는 무례하고 싶지 않았습니다. 내 답변은 : 지금은 지원이 없지만 가까운 장래에 추가 할 예정입니다. –
귀하의 게시물을 편집하여 더 명확하게하고 내 downvote를 삭제했습니다. 나는 '이 기능이 아직 구현되지 않았다'는 사실을 깨닫지 못했다. –