2024. 7. 10. 10:15
godot c#/Node3d
가장 기본적인 3d 격체 노드
transform을 사용하여 위치 회전 크기를 조절할 수 있다
신호
visivility_changed() | visible이 변경될 떄마다 신호를 보낸다 |
펑션
void force_updete_transform() | 트랜스폼을 강제로 업데이트합니다 성능상의 이유로 물리에서 변환은 누적된 후에 설정되지만 최신 변환이 필요한 경우 사용 |
|
node3d get_parent_node_3d() | 부모를 반환, 없으면 빈 object를 반환 | |
world3d get_world_3d() | 노드가 등록된 현재 world3d 리소스를 반환 |
void global_rotate(vector3,engle) |
주어진 각도 (라디안)만큼 축(vector3)을 중심으로 회전한다 |
글로벌 회전을 움직이는 것 이기 떄문에 회전된 상태에서도 월드 중심축에 맞춰 회전한다 ◀나중에 gif로 바꿔야 함 |
|
void global_scale(vector3) |
주어진 vector3배율 인수로 전역 변환의크기를 조절합니다 |
vec3 (1,1,1)가 기본 크기. global_scale(2,2,2)는 글로벌 스케일 크기가 2배가 된다 (1,1,1)를 1번 적용하면 (2,2,2)가 되고 1번 더 적용하면 (4,4,4)가 된다 |
void hide() | 노드를 숨김 | |
void show() | 노드를 보이게 함 | |
bool is_local_transform_notification_enabled() |
노드가 로컬 변환 변경 사항을 알리는지 여부를 반환 (기본적으로 전파하지 않음) |
|
set_notify_local_transform() |
노드가 로컬 변환 변경 사항을 알릴지 여부를 설정 (기본적으로 전파하지 않음) |
|
bool is_scale_disabled() |
노드가 스케일 또는 로컨 변환 스케일을 사용하는지 여부를 반환 | |
void set_disable_scale(bool) |
노드가 스케일 또는 로컬 변환 스케일을 사용할지 여부를 설정함 로컬 변환 배율에 대한 변경 사항은 유지(1,1,1) ●????? |
|
bool is_transform_notification_enabled() |
노드가 전역 및 로컬 변환 변경 사항을 알리는지 여부를 반환 (기본적으로 전파하지 않음) |
|
void set_notify_transform(bool) |
노드가 전역 및 로컬 변환 변경 사항을 알릴지 여부를 설정 node3d는 편집기 컨텍스트에 있고 유효한 기즈모가 없으면 기본적으로 전파하지 않음 ●????? |
|
bool is_visible_in_tree() |
노드가 scenetree에 있으면 해당 노드의 visible 속성이 true이고 해당 조상도 모두 표시되는 경우 반환 숨겨진 조상이 있으면 이 노드는 장면 트리에 표시되지 않음 해당 노드 visibility 활성화 = true 비활성화 = false 부모노드 비활성화 해당노드 활성화 = false |
void look_at(vector3 target , vector3 up = vector3(0,1,0) , bool use_model_front = false) |
target 로컬 정방향(-Z)축이 target 위치를 가리키도록 노드를 회전함 up 로컬 위쪽 Y(0,1,0)축은 전방 축에 수직을 유지함 use_model_front 기본적으로 Z-축이 전방으로 처리 되며 true일시 Z축이 전방으로 처리됩니다 |
|
|
void look_at_form_position( vector3 position, vector3 target, vector3 up=vector3(0,1,0), bool use_model_front=false) |
position 으로 이동 후 target을 바라 본다 나머지는 look_at과 동일하다 |
void orthonormalize() | 이 노드의 transform3d에서 그램-슈미트 직교 정규화를 수행하여 회전 및 변환을 유지하면서 이 노드의 변환을 재설정합니다 |
void rotate(vector3 axis, float angle) | 지정된 각도(라디안)만큼 전역 축을 중심으로 로컬 회전합니다 (로컬 회전 전역 축) |
★나중에 gif |
void rotate_object_local (vector3 axis , float angle ) |
위와 같이 회전하며, 축은 객체-로컬 좌표계에 있습니다 (로컬 회전 로컬 축) |
★ |
void rotate_x(float angle) | x축을 중심으로 라디안 단위의 각도로 로컬 회전함 |
|
void rotate_y(float angle) | y축을 중심으로 라디안 단위의 각도로 로컬 회전함 |
|
void rotate_z(float angle) | z축을 중심으로 라디안 단위의 각도로 로컬 회전함 |
void scale_object_local (vector3 scale) | 객체-로컬 좌표계에서 주어진 3d 스케일 인자로 로컬 스케일을 조정합니다 |
vec3(3.3.3)을 사용하여 3배 크게 만듬 ★(global_scale과의 차이를 모르겠음) |
void set_identity() | 이 노드의 모든 변환을 재설정 함 |
transform의 모든 값이 초기화 되어 0,0,0좌표 1,1,1크기 각도 0,0,0이되었다 |
vector3 to_global(vector3 local_point) | local_point를 글로벌 vec3로 반환 |
현재 position + vec3(0,0,20) 의 벡터 위치를 글로벌 vec값을 반환 하여 40이 된다 |
vector3 to_local(vector3 global_point) | global_point를 로컬 vec3로 반환 |
void set_ignore_transform_notification(bool ) | 노드가 변환(클로벌 또는 로컬)이 변경되었다는 알림을 무시할지 여부를 설정 |
void translate(vector3 offset ) | 주어진 offset만큼 노트의 위치를 변경 scale에 영향을 받음 |
position(10,10,0)에 translate(vec3(10,0,0)) 을 적용하면 위치가 (20,0,0)가된다 |
void translate_object_local(vector3 offset) | 로컬 공간에서 주어진 offset만큼 노드의 위치를 변경 | 뭔 차이인지 모르겠다 |
global_position<< 나중에 추가 해야 함 그냥 글로벌 포지션 같음
카테고리 글 더보기