특징 및 기능
특징 및 기능
이 페이지는 모든 주요 기능 영역을 다루고 있습니다. 아스포지 3D-포스 26.1.0 Java 예제로 작업을 수행합니다.
장면을 충전하고 저장하는 방법
scene.open() 파일을 삽입하는 방법; scene.save() 그것을 수출하는 :
import com.aspose.threed.Scene;
Scene scene = new Scene();
scene.open("input.obj");
scene.save("output.glb");스테이크 공장 대안 :
Scene scene = Scene.fromFile("input.fbx");
scene.save("output.stl");특정 옵션 포맷
패스 LoadOptions 또는 SaveOptions 얇은 곡물 통제에 대한 하위 클래스 :
import com.aspose.threed.*;
Scene scene = new Scene();
ObjLoadOptions opts = new ObjLoadOptions();
opts.setFlipCoordinateSystem(true);
scene.open("model.obj", opts);
GltfSaveOptions saveOpts = new GltfSaveOptions();
saveOpts.setFlipCoordinateSystem(true);
scene.save("model.glb", saveOpts);참고 : FBX는 수입을 위해서만 지원되며, FBx 수출은 FOSS 버전에서 실행되지 않습니다. 바이너리 FBX 파일이 수입을 위해 지원됩니다 — ASCII FBX 던져
ImportException.
장면 그래프를 만드는 방법
노드를 만들고 단체를 연결합니다 :
Scene scene = new Scene();
Node root = scene.getRootNode();
Mesh mesh = new Mesh("myMesh");
mesh.getControlPoints().add(new Vector4(0, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 10, 0));
mesh.createPolygon(0, 1, 2);
Node meshNode = root.createChildNode("triangle", mesh);메시지 운영
A를 만드는 것 Mesh 컨트롤 포인트 및 폴리곤을 사용하여 프로그래밍 :
Mesh mesh = new Mesh("custom");
mesh.getControlPoints().add(new Vector4(0, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 10, 0));
mesh.getControlPoints().add(new Vector4(0, 10, 0));
mesh.createPolygon(0, 1, 2, 3);변환
모든 것들 Node 운반 A Transform:
Node node = scene.getRootNode().createChildNode("moved", new Mesh());
node.getTransform().setTranslation(10, 0, 5);
node.getTransform().setScale(2, 2, 2);세계 공간을 통해 읽기 node.getGlobalTransform().getMatrix().
재료
노드에 물질을 할당하십시오 :
import com.aspose.threed.*;
PbrMaterial mat = new PbrMaterial("shiny");
mat.setAlbedo(new Vector4(0.8, 0.2, 0.2, 1.0));
mat.setMetallicFactor(0.5);
mat.setRoughnessFactor(0.3);
scene.getRootNode().createChildNode("red_mesh", mesh, mat);재료의 종류 : Material 기초를 바탕으로, PbrMaterial (PBR 금속 격리).
팁과 최고의 관행
- 사용하기
Scene.fromFile()사용자 지정 옵션이 필요하지 않을 때 단일 라인 충전을 위해 - 을 프로그래밍으로 만들기 위해서
createPolygon()특정 지질학에 대하여 - 사용하기
.glb컴팩트 바이너리 glTF 출력 확장 - 확인하기
node.getEntity() != null카스팅하기 전에 - STL 수출은 아니요 삼각형 폴리건은 자동으로 얼굴을 나타냅니다. 바이너리 STL 수출은 각 롤리곤의 첫 3 개의 측면만 기록합니다 - 쿼드 또는 n-gon 얼굴은 조용히 흔들립니다. ASCII ST L 수입은 모든 측정 지표를 작성하여 비 삼위일체 얼굴에 대한 잘못된 측향 블록을 생성합니다. 항상 사전 삼중 메시지 (모든 삼석 얼굴)를 STl 수행하여 데이터 손실이나 불법 출력을 피하십시오.
일반적인 문제들
| 문제 | 원인은 | 고정 |
|---|---|---|
| 짐을 제외하고는 | 지원되지 않은 또는 부패한 파일 | 3D 시청자에서 파일이 열리는지 확인합니다. |
| OBJ 로드 후 실종된 재료 | .mtl 파일 찾을 수 없음 | 장소 .mtl 옆에 있는 .obj;• 재료가 허용되는지 확인하기 위해서 |
| 수입 후 스케일 오류 | 다양한 단위 시스템 | A를 적용합니다 Transform 짐 후 스케일 |
FAQ
어떻게 파일 형식을 확인할 수 있나요?
FileFormat format = FileFormat.detect("unknown.bin");
System.out.println(format.getExtension());흐름에서 충전할 수 있나요?
예요 ᄒᄒ. scene.open() 받아들여서 하나 InputStream.
어떤 형식이 수입과 수출을 지원합니까?
OBJ, STL 및 glTF/GLB는 두 방향을 지원합니다. FBX는 수입-만; 수출은 FOSS 버전에서 실행되지 않습니다.
API 참조 요약
| 클래스 / 방법 | 설명 |
|---|---|
Scene | 최고 수준의 3D 장면 컨테이너 |
scene.open() | 3D 파일을 경로 또는 스트림으로 업로드합니다. |
scene.save() | 파일 또는 스트림으로 수출 시나리오 |
Scene.fromFile() | 기 공장 충전 및 반환 A Scene |
Node | 히어로시 노드 |
node.createChildNode() | 아이 노드를 만들고 붙여 넣으십시오. |
Mesh | 컨트롤 포인트와 얼굴 목록을 가진 폴리곤 마스크 |
mesh.createPolygon() | 폴리곤 얼굴을 정의하라. |
Mesh.toMesh() | 변환 또는 클론 메쉬 지질학 |
Transform | 현지 번역, 회전 및 규모 |
FileFormat | 포맷을 위한 레지스트리 및 탐지기 |