JavaFX 3D 부분 소개(2)카메라
5836 단어 JavaFX
이 글 은 이전 편 에 이 어 자바 FX 3D API 에 대한 설명 을 진행 할 예정 이다.
JavaFX 3D Graphics API 에서 Camera 는 Node 이 며 JavaFX 의 Scene 에 직접 추가 할 수 있 습 니 다.3D UI 레이아웃 에서 마음대로 카 메 라 를 이동 할 수 있 습 니 다.이것 은 2D 레이아웃 과 다 를 것 입 니 다.
우선,Camera 의 좌표 체 계 는 다음 과 같 습 니 다.
X 축 은 오른쪽 을 가리 키 고 Y 축 은 아래 를 가리 키 며 Z 축 은 화면 이 관찰자 로부터 멀리 떨 어 진 방향 을 가리킨다.
우 리 는 카 메 라 를 만 들 고 장면 에 추가 할 수 있 습 니 다.
Camera camera = new PerspectiveCamera(true);
scene.setCamera(camera);
필드 에 추가:
Group cameraGroup = new Group();
cameraGroup.getChildren().add(camera);
root.getChildren().add(cameraGroup);
카 메 라 를 돌리 고 카메라 그룹 을 이동 합 니 다.
camera.rotate(45);
cameraGroup.setTranslateZ(-75);
Perspective Camera
자바 FX 는 투시 카 메 라 를 제공 하여 3D 장면 을 렌 더 링 하고 투시 투영 에 값 을 정의 합 니 다.우 리 는 fieldOfView 를 수정 함으로써 이 값 을 바 꿀 수 있다.
Perspective Camera 를 만 드 는 구조 함수:
PerspectiveCamera()
erspectiveCamera(boolean fixedEyeAtCameraZero)
다음 구조 함 수 는 자바 FX 8 에 추 가 된 것 입 니 다.초기 화 할 때 fixed Eye AtCamera Zero 값 을 지정 할 수 있 습 니 다.
장면 이 마치 3D 환경 에서 보 여 주 는 것 같다.
따라서 3D 프로젝트 를 개발 하려 면 PerspectiveCamera(true)를 사용 하여 초기 화하 고 2D 에서 false 를 사용 해 야 합 니 다.
다음은 자주 사용 하 는 방법 몇 가 지 를 소개 한다.
setFieldOfView(double value);
setNearClip(double value);
setFarClip(double value);
, 。 , ,
。
JavaFX Y
3D ,Y 。 JavaFX 3D ,Y 。 Y , xform
。
:
root3D = new Xform();
root3D.rx.setAngle(180.0);
root.getChildren().add(root3D);
root3D.getChildren().add(...); // 3D
, Camera xform , :
Camera camera = new PerspectiveCamera(true);
Xform cameraXform = new Xform();
root.getChildren().add(cameraXform);
cameraXform.getChildren().add(camera);
cameraXform.rz.setAngle(180.0);
, Camera , :
Camera camera = new PerspectiveCamera(true);
Xform cameraXform = new Xform();
root.getChildren().add(cameraXform);
cameraXform.getChildren().add(camera);
Rotate rz = new Rotate(180.0, Rotate.Z_AXIS);
camera.getTransforms().add(rz);
JavaFX 3D , 3D 。
, 。 :http://blog.csdn.net/ml3947, :http://www.wjfxgame.com。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Eclipse에서 javaFX 도입 (2020-4 월)javaSE에 javaFX가 동봉되지 않게 되어, 기존의 방법으로는 잘 되지 않는 것이 있는 것 같고, 도입에 망설였으므로 나중의 참고가 된다고 생각. 초보자이므로 손 부드럽게. macOS Catalina Eclip...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.