개인 재정 JavaFX 프로그래밍 예제 : 3D Box - dummy

JavaFX 프로그래밍 예제 : 3D Box - dummy

차례:

비디오: 3D 게임 16강. 슈팅 게임 만들기[2] (2/4) 2025

비디오: 3D 게임 16강. 슈팅 게임 만들기[2] (2/4) 2025
Anonim

JavaFX는 사실적인 3D 모델링을 기본적으로 지원합니다. 실제로 JavaFX 장면 그래프는 본질적으로 3 차원입니다. 대부분의 JavaFX 프로그램은 x 좌표와 y 좌표 만 지정하는 두 가지 차원에서 작동합니다. 그러나 3 차원으로 들어가려면 장면 그래프의 노드를 3 차원 공간에 배치하기 위해 z 좌표를 지정하면됩니다.

JavaFX에는 3D 세계에서 3D 객체를 만들고 시각화하는 풍부한 클래스 세트가 포함되어 있습니다. 큐브 및 실린더와 같은 3 차원 도형을 만들 수 있습니다. 3D 공간 내에서 가상 카메라를 움직여 3D 앵글과 다른 시각에서 3D 오브젝트를 볼 수 있습니다.

그리고 광원을 추가하여 가상 세계의 최종 모습을 조심스럽게 제어 할 수도 있습니다. 즉, JavaFX는 놀라운 3D 장면을 생성 할 수 있습니다.

Java 세계에 3D 상자 추가

이 단계에서는 객체를 3D 세계에 추가합니다.이 경우 상자 클래스는 Box 클래스로 표시됩니다. 코드는 다음과 같습니다.

상자 상자 = 새 상자 (100, 100, 100); 상자. setMaterial (blueStuff); 상자. setTranslateX (150); 상자. setTranslateY (-100); 상자. setTranslateZ (-100); 뿌리. getChildren (). 추가 (상자);

Box 생성자는 상자의 너비, 높이 및 깊이를 나타내는 세 개의 인수를 허용합니다. 이 예제에서는 세 가지 모두 100으로 설정됩니다. 따라서 상자는 각면이 100 단위 인 정육면체로 그려집니다.

상자는 원통과 동일한 재질로되어 있습니다. 그 다음에는 3 축 모두에서 번역되어 상자의 투시도를 볼 수 있습니다. 그림은 렌더링 할 때 상자가 어떻게 나타나는지 보여줍니다. 보시다시피 상자의 왼쪽과 아래쪽면이 보입니다. 왜냐하면 상자의 위치를 ​​오른쪽으로 이동하여 카메라가 일부 원근감을 갖기 때문입니다.

3D 상자 회전

이 단계에서 상자를 회전하면 더 재미있는 투시도가 생성됩니다. 3D 객체를 회전하는 데는 두 가지 방법이 있습니다. 가장 간단한 방법은 객체의 setRotate 메소드를 호출하고 회전 각도:

상자를 제공하는 것입니다. setRotate (25);

기본적으로이 명령은 z 축에서 오브젝트를 회전시킵니다. 시각화가 어렵다면, z 축에 평행 한 긴 스틱으로 물체를 꼬치 꼬치로 잡는 것을 상상해보십시오. 그런 다음 꼬챙이에 물건을 회전시킵니다.

다른 축을 따라 객체를 회전하려면 먼저 setRotationAxis를 호출합니다. 예를 들어, X 축에서 객체를 회전하려면

상자를 사용합니다. setRotationAxis (Rotate. X_AXIS); 상자. setRotate (25);

꼬치를 x 축에 평행 한 꼬챙이로 상자를 통과시킨 다음 상자를 25도 회전시키는 것을 상상해보십시오.

setRotate 메소드를 사용하여 3D 객체를 회전하는 유일한 문제는 한 번에 한 축에서만 작동한다는 것입니다. 예를 들어, z 축과 x 축 모두에서 상자를 25도 회전하려고한다고 가정합니다. 다음 코드는 이 작업을 수행하지 않습니다: 상자. setRotationAxis (Rotate. X_AXIS); 상자. setRotate (25); 상자. setRotationAxis (회전.Z_AXIS); 상자. setRotate (25); setRotate 메소드가 두 번째로 호출되어 z 축의 상자를 회전하면 x 축 회전이 재설정됩니다.

두 개 이상의 축을 회전하려면 회전 클래스를 사용해야합니다. 객체를 회전하려는 각 축에 대해 별도의 Rotate 인스턴스를 만든 다음 getTransforms ()를 통해 모든 Rotate 인스턴스를 객체의 Transforms 컬렉션에 추가합니다. addAll 메소드:

Rotate rxBox = new Rotate (0, 0, 0, 0, Rotate. X_AXIS); 회전 ryBox = new 회전 (0, 0, 0, 0, 회전.Y_AXIS); 회전 rzBox = new 회전 (0, 0, 0, 0, 회전.Z_AXIS); rxBox. setAngle (30); ryBox. setAngle (50); rzBox. setAngle (30); 상자. getTransforms (). addAll (rxBox, ryBox, rzBox);

Rotate 생성자는 네 개의 매개 변수를 허용합니다. 처음 세 개는 회전 축이 통과 할 객체 내의 점의 x, y 및 z 좌표입니다. 일반적으로이 매개 변수에 대해 0을 지정하여 객체를 중심점 주위로 회전시킵니다. 네 번째 매개 변수는 회전 축을 지정합니다.

이 그림은 회전 한 후 상자가 어떻게 나타나는지 보여줍니다.

상자가 회전 된 후.

JavaFX 프로그래밍 예제 : 3D Box - dummy

편집자의 선택

PowerPoint 2016의 다른 슬라이드에 하이퍼 링크를 만드는 방법 - PowerPoint 2016의

PowerPoint 2016의 다른 슬라이드에 하이퍼 링크를 만드는 방법 - PowerPoint 2016의

하이퍼 링크는 슬라이드 나 다른 프레젠테이션, Word 문서 나 Excel 스프레드 시트와 같은 다른 유형의 문서를 소환하기 위해 슬라이드를 볼 때 클릭 할 수있는 간단한 텍스트 또는 그래픽 이미지입니다. 하이퍼 링크를 클릭하면 페이지로 연결될 수도 있습니다.

PowerPoint 2007 슬라이드에서 작업 단추를 만드는 방법 - 동작 버튼 배치

PowerPoint 2007 슬라이드에서 작업 단추를 만드는 방법 - 동작 버튼 배치

PowerPoint 슬라이드에서 PowerPoint 슬라이드를 순서에 관계없이 볼 수 있으며 사운드 및 비디오 클립에 액세스 할 수 있습니다. PowerPoint 슬라이드에 단추를 추가하려면 단추를 배치 할 슬라이드로 이동하여 다음 단계를 따르십시오.

편집자의 선택

SAT 연습 문제 : SAT 수학 시험에서 여러 개의 그래프 - 더미

SAT 연습 문제 : SAT 수학 시험에서 여러 개의 그래프 - 더미

를 읽으면 질문이 생길 수 있습니다 하나의 그래프가 아니라 두 개를 포함합니다. 이러한 종류의 질문은 두 가지 그래프 사이의 관계를 탐구하도록 요구합니다. 다른 카운티의 차가운 시리얼 판매를 비교하는 다음 연습 질문에서와 같습니다. 연습 문제 두 가지 질문은 다음을 기반으로합니다 ...

SAT 연습 문제 : Sec, Csc 및 Cot Questions - 더미

SAT 연습 문제 : Sec, Csc 및 Cot Questions - 더미

SOH CAH TOA로 대표되는 삼각 비율의 경우 SAT Math 시험은 세컨드, 코사인 또는 코탄 센트로 작업해야하는 질문이있을 수 있습니다. 다행히도 사인, 코사인 또는 접선의 역수를 찾는 문제 일뿐입니다. 다음 연습 문제는 상호 작전을 수행하도록 요청합니다.

SAT 연습 문제 : 급진주의자를 포함하는 SAT 수학 시험에서 질문을 만났을 때 급식 문제 -

SAT 연습 문제 : 급진주의자를 포함하는 SAT 수학 시험에서 질문을 만났을 때 급식 문제 -

해결 , "9의 제곱근은 무엇입니까? "급진주의자는 그 질문의 한 부분 일 뿐이다. 다음 연습 문제는 위협적으로 보일지 모르지만 급진주의를 해결하는 방법을 알고 있다면 그 문제를 해결할 수 있습니다. 연습 ...

편집자의 선택

흑백 HDR : Photoshop Duotone 도구로 색상 화 - 더미

흑백 HDR : Photoshop Duotone 도구로 색상 화 - 더미

컬러링 (종종 색조 또는 색조라고도 함) 흑백 HDR 이미지는 흑백 이미지보다 하나, 둘 또는 그 이상의 색상을 오버레이하여 결과적으로 노화 또는 기타 창의적인 효과를냅니다. Photoshop에는 Elements (Colorizing, Color Variations 및 Color Layers)와 동일한 기능이 많이 있지만 강력한 제어 기능을 제공하는보다 강력한 사용자 기능이 제공됩니다.

HDR 파노라마의 프레임 혼합 - 더미

HDR 파노라마의 프레임 혼합 - 더미

혼합을 사용하면 Photoshop Elements가 어떻게 서로 다른 레이어를 HDR 파노라마를 만든 다음 합성하여 합성 이미지를 만듭니다. 이 프로세스는 파노라마의 한 프레임에서 어떤 것이 더 좋게 보이지만 그 지점이 다른 요소의 동일한 지점을 선호하도록 요소에 의해 마스크 된 경우에 유용합니다.

매크로 또는 클로즈업 사진 비율 - 대부분의 경우 더미

매크로 또는 클로즈업 사진 비율 - 대부분의 경우 더미

매크로와 클로즈업 사진 사이에는 상관이 없습니다. 피사체에 매우 가까이 다가 갈 수있는 능력이 있으면 작은 세부 사항을 밝히고 더 작은 피사체를 촬영할 수 있지만 피사체에 얼마나 가까이 다가 가느냐는 크기와 메시지에 비례합니다. 더 가까워서 항상 좋은 것은 아닙니다.