특징 및 기능

특징 및 기능

이 페이지는 모든 주요 기능 영역을 다루고 있습니다. 아스포지 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포맷을 위한 레지스트리 및 탐지기
 한국어