[GodotEngine] 3D 카메라와 카메라 금보
4047 단어 Godot Enginetech
사진기
나는 카메라를 만들 때 항상 두 가지 방법으로 한다.
플레이어 장면에 포함된 방법과 플레이어가 카메라를 따로 준비하는 방법
전자는 카메라의 추적 처리를 고려하지 않기 때문에 표준적인 방법이다.
후자는 카메라 추적 처리가 필요하지만 카메라 아이템이 쉽게 움직이기 때문에 유니버설성이 높다고 느낀다.
카메라 벨
당분간, 어쨌든 제작
CameraController
의 부노드Spatial
.이 하위 노드
h
를 손 노드v
로 설정하고 각각 Spatial
노드로 설정한다.증손노드에서
CameraPos
라는 이름으로 제작Position3D
.이렇게 하면
h
노드가 Y축을 회전하면 카메라가 역할의 주위를 회전합니다.마찬가지로
v
노드를 X축으로 회전시키면 카메라는 캐릭터의 위아래로 회전한다.카메라를 멀리 줌하려면 로컬 Z 좌표
CameraPos
를 이동하면 됩니다.CameraController.gd
export var _distance:float = 3.0
export var _vertical_rotate:float = -20.0
onready var _camera_gimbal_h:Spatial = get_node("h")
onready var _camera_gimbal_v:Spatial = get_node("h/v")
onready var _camera_position:Spatial = get_node("h/v/CameraPos")
func _ready():
_camera_pos_node.translation.z = distance
_camera_gimbal_v.rotate_x(deg2rad(vertical_rotate))
축력기에 좋아하는 각도와 거리를 설정하면 게임이 시작될 때 그 값으로 시작한다.tool
도 키워드Engine.editor_hint
를 첨부하여 설정할 수 있다.카메라가 들어오든 안 들어오든 노드의 좌표
CameraPos
를 보고 이동하면 된다._process(_delta)
에서 움직이면 물리적 처리 측면(충돌 처리 등이 많은 등)에서 라그가 발생하면 카메라에 영향을 주고 화면 전체가 끊기기 때문에 분리하는 것이 좋다._physics_process(_delta)
노드도 사용할 수 있습니다.다만 개인적으로는
SpringArm
장애물을사용할 때캐릭터에 접근하는 행위보다는제작사의특허(2016년실효)를가진카메라와타겟사이의대상이반투명화되어서사용하지 않는다SpringArm
.
Reference
이 문제에 관하여([GodotEngine] 3D 카메라와 카메라 금보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/saitos/articles/godot-3d-camera-memo텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)