BabylonJS-카메라

BabylonJS에는 사용할 수있는 카메라가 많이 있습니다. 한 장면에 대해 한 번에 하나의 카메라 만 활성화됩니다.

이 장에서는 BabylonJS에서 카메라를 사용하는 방법을 배웁니다.

프리 카메라

이제 FreeCamera가 어떻게 작동하는지 살펴 보겠습니다.

통사론

다음은 FreeCamera의 구문입니다.

var camera = new BABYLON.FreeCamera("FreeCamera", new BABYLON.Vector3(0, 1, -15), scene);

이것은 카메라가 배치되는 위치입니다-new BABYLON.Vector3 (0, 1, -15).

방향을 바꾸면 방향이 바뀝니다. 값을 변경하고 카메라가 장면에서 어떻게 작동하는지 확인할 수 있습니다.

다음은 FreeCamera에서 사용하는 매개 변수입니다.

  • Name
  • Position
  • Scene

ArcRotateCamera

이 카메라는 주어진 대상 피벗을 중심으로 회전합니다. 커서와 마우스 또는 터치 이벤트로 제어 할 수 있습니다. 매개 변수는 이름, 알파, 베타, 반경 및 타겟입니다.

통사론

var camera = new BABYLON.ArcRotateCamera("ArcRotateCamera", 1, 0.8, 10, new BABYLON.Vector3(0, 0, 0), scene);

ArcRotateCamera+ x 방향을 가리 킵니다. 카메라 위치를 변경하려면setPosition 특성.

camera.setPosition(new BABYLON.Vector3(0, 0, -100));

ArcRotateCamera는 애니메이션 효과가 뛰어난 카메라입니다. 다음 명령은 대상을 중심으로 카메라를 회전하는 데 도움이됩니다.

scene.activeCamera.alpha += .01;

TouchCamera

터치는 '제스처'의 한 유형입니다. 손가락, 스타일러스, 장갑, 발 또는 레이저 포인터를 사용하여 패드 또는 화면에 표시 할 수 있습니다. 감지 할 수있는 모든 움직임은 제스처로 간주 될 수 있습니다.

통사론

다음은 TouchCamera의 구문입니다.

var camera = new BABYLON.TouchCamera("TouchCamera", new BABYLON.Vector3(0, 1, -15), scene);

게임 패드 카메라

이 카메라는 게임 패드와 함께 사용하도록 특별히 설계되었습니다.

통사론

다음은 게임 패드 카메라의 구문입니다.

var camera = new BABYLON.GamepadCamera("Camera", new BABYLON.Vector3(0, 15, -45), scene);

DeviceOrientationCamera

이 카메라는 장치를 앞뒤로 기울일 때, 왼쪽 또는 오른쪽으로 기울일 때와 같은 장치 방향 이벤트에 반응하도록 특별히 설계되었습니다.

통사론

var camera = new BABYLON.DeviceOrientationCamera("DevOr_camera", new BABYLON.Vector3(0, 1, -15), scene);

FollowCamera

FollowCamera는 위치와 함께 모든 장면 항목을 따르도록 설계되었습니다. 후면, 전면 또는 모든 각도에서 따라갈 수 있습니다.

통사론

다음은 FollowCamera의 구문입니다.

var camera = new BABYLON.FollowCamera("FollowCam", new BABYLON.Vector3(0, 15, -45), scene);

VirtualJoysticks 카메라

이 카메라는 가상 조이스틱 이벤트에 반응하도록 설계되었습니다. 가상 조이스틱은 카메라 또는 기타 장면 항목을 제어하는 ​​데 사용되는 온 스크린 2D 그래픽입니다.

통사론

다음은 VirtualJoysticksCamera의 구문입니다.

var camera = new BABYLON.VirtualJoysticksCamera("VJ_camera", new BABYLON.Vector3(0, 1, -15), scene);

AnaglyphCamera

AnaglyphCamera는 빨간색 및 청록색 3D 안경과 함께 사용하기위한 것입니다. 후 처리 필터링 기술을 사용합니다.

AnaglyphArcRotateCamera

다음은 AnaglyphArcRotateCamera의 구문입니다.

var camera = new BABYLON.AnaglyphArcRotateCamera("aar_cam", -Math.PI/2, Math.PI/4, 20, new BABYLON.Vector3.Zero(), 0.033, scene);

AnaglyphFreeCamera

다음은 AnaglyphFreeCamera

var camera = new BABYLON.AnaglyphFreeCamera("af_cam", new BABYLON.Vector3(0, 1, -15), 0.033, scene);

VRDeviceOrientationFreeCamera

VRDeviceOrientationFreeCamera는 FreeCamera를 기본으로 사용하므로 FreeCamera의 속성과 메서드는 VRDeviceOrientationFreeCamera에서도 찾을 수 있습니다.

통사론

다음은 VRDeviceOrientationFreeCamera

var camera = new BABYLON.VRDeviceOrientationFreeCamera ("Camera", new BABYLON.Vector3 (-6.7, 1.2, -1.3), scene, 0);

WebVRFreeCamera

WebVRFreeCamera는 FreeCamera를 기본으로 사용하므로 FreeCamera의 속성 및 방법은 WebVRFreeCamera에서도 찾을 수 있습니다.

통사론

다음은 WebVRFreeCamera

var camera = new BABYLON.WebVRFreeCamera("WVR", new BABYLON.Vector3(0, 1, -15), scene);

대부분의 데모에서는 attachControl 카메라가 캔버스에 부착 된 위치입니다.

camera.attachControl(canvas, true);