차례:
- 1 단계 : 구체 추가
- 2 단계 : 대상체에 애니메이션 적용
- 3D 프로그래밍 세계에 대한이 마지막 시도는 광원을 추가하는 것입니다.광원은 여기에 표시된 것처럼 장면의 전체 모양을 변경합니다.
비디오: jQuery 20 [ Lightbox ] 라이트박스효과 구현하기(Lightbox Effect) - attr메서드 활용 2024
JavaFX에서 가상 3D 세계를 만드는 것이 그 어느 때보 다 쉬워졌습니다. 이 예제에서는 JavaFX 프로그램에 구를 추가하고 애니메이션을 적용하고 광원을 추가하는 방법을 배웁니다.
1 단계: 구체 추가
먼저 Sphere 클래스로 표시되는 구체를 추가합니다. Sphere 생성자는 구의 반지름을 지정하는 단일 매개 변수 만 허용합니다. 예를 들어,이 선은 반지름이 100 인 구를 만든 다음이를 변환하여 가상 세계의 중심점에서 벗어납니다:
구 구 = 새 구 (100); 구체. setTranslateX (-180); 구체. setTranslateY (-100); 구체. setTranslateZ (100); 뿌리. getChildren (). 추가 (구체);
구형에 동일한 파란색 퐁 재질을 적용하는 대신 다음 코드를 사용하여 지구의 원통형 투영 이미지로 만든 Phong 재질을 적용하여 더욱 흥미로운 작업을 할 수 있습니다.
Image earthImage = new Image ("file: 지구.jpg"); PhongMaterial earthPhong = 새로운 PhongMaterial (); earthPhong. setDiffuseMap (earthImage); 구체. setMaterial (earthPhong);
이 그림은 결과로 생성되는 구를 보여줍니다.
이 기술을 사용하여 구체 (또는 다른 모든 3D 오브젝트) 주위의 이미지를 래핑 할 수 있습니다. Wikipedia에서이 프로그램의 이미지를 얻을 수도 있습니다. Behrmann Projection 을 검색 한 다음 파일을 다운로드하면됩니다. (Wikipedia에서 사용할 수있는 이미지의 가장자리가 작은 경계이므로 Windows 페인트를 사용하여 이미지의 가장자리를 조금 자릅니다.)
2 단계: 대상체에 애니메이션 적용
휴! 3D 가상 세계에는 이제 지구와 비슷한 구체가 있습니다. 현재 다른 개체를 추가 할 수도 있습니다.
이 단계에서 모든 오브젝트에 애니메이션을 추가하여 회전시킵니다. 각 객체는 간단한 RotationTransition 애니메이션을 가져옵니다. 첫째, 구:
RotateTransition rt4 = new RotateTransition (); rt4. setNode (구); rt4. setDuration (Duration. millis (9000)); rt4. setAxis (회전.Y_AXIS); rt4. setByAngle (360); rt4. setCycleCount (애니메이션.EFEFINITE); rt4. setInterpolator (보간 기 LINEAR); rt4. 놀이(); play 메소드가 호출 된 후 구가 회전하기 시작하여 매 3 초마다 z 축을 한 바퀴 돌립니다.
구가 y 축을 중심으로 회전하여 세계가 회전하고 있다는 인상을줍니다. 구체의 경우, 속도는 10 초마다 1 회전으로 설정됩니다.
3 단계: 광원 추가
3D 프로그래밍 세계에 대한이 마지막 시도는 광원을 추가하는 것입니다.광원은 여기에 표시된 것처럼 장면의 전체 모양을 변경합니다.
광원을 추가하려면 다음 코드를 사용하십시오.
광원이있는 3D 세계.
PointLight 광원 = 새로운 PointLight (색상. 흰색); 빛. setTranslateX (-1000); 빛. setTranslateY (100); 빛. setTranslateZ (-1000); 뿌리. getChildren (). 빛을 더한다.PointLight 클래스는 장면의 특정 지점에서 시작하여 주어진 색상의 빛을 투사하는 광원을 정의합니다 (이 경우 오래된 흰색). 조명 효과를 만들려면 좌표 1, 000을 왼쪽, 100 아래로, 1,000 단위를 사용자쪽으로 이동하여 조명의 위치를 변경하십시오. 결과는 회전하는 물체의 뒷면에 좋은 그림자를 만듭니다.