Godot에 노드 2D의 Gizmo 그리기
5059 단어 Godot
노드 2D에 기즈모를 그리고 싶어 잘 어울려 정보를 취합했다.
작업 환경
Godot Engine 3.2.1
메모지
Spatial Gizmo는 2D에서 움직이지 않음
SpatialGizmo
https://docs.godotengine.org/ja/stable/tutorials/plugins/editor/spatial_gizmos.html
처음에는 이것인 줄 알았는데 해보니까 꼼짝도 안 하고 짜증나 죽겠어요.
Spatial은 3D 노드이므로 노드 2D로 움직이지 않는 것이 당연합니다.그나저나 Godot4부터 Spatial은 Node 3D로 이름을 바꾼 것 같습니다.
기즈모 2D 버전 없어요.
EditorPlugin
https://docs.godotengine.org/en/stable/classes/class_editorplugin.html
add Editor Pluginspatial_gizmo_pluggin이 존재하지만ddnode2d_gizmo_pluggin이 없어서 2D 기즈모가 없는 것 같아요.
해결:
_draw
에서 그리기다른 Camera 2D와 같은 2D 노드가 어떻게 Editor 화면에 그려졌는지 궁금해서 GiitHub의 출처를 봤어요.
감사합니다.DRAW에 그린 것 같아요.
엔진의 진정한 심정은 원본 코드에 쓰여 있다.
GDScrite에서는 처음에
_notification
를 추가한 후 tool
로 그리면 된다.Node 2D 주위에 사각형을 그리려면 다음 코드를 사용합니다.
tool
extends Node2D
export var left := -100
export var top := -100
export var right := 100
export var bottom := 100
func _process(delta):
if Engine.editor_hint:
update()
func _draw():
if Engine.editor_hint:
var color := Color(1.0, 0.0, 0.0)
draw_line(Vector2(left, top), Vector2(right, top), color)
draw_line(Vector2(right, top), Vector2(right, bottom), color)
draw_line(Vector2(right, bottom), Vector2(left, bottom), color)
draw_line(Vector2(left, bottom), Vector2(left, top), color)
Editor에서 Gizmo를 그릴 수 있습니다.주의점
_draw
도 실행할 때 실행되기 때문에 _process
에서 제어는 Editor에서만 실행됩니다.Engine.editor_hint
호출_process
방식에서 프레임마다 묘사 처리를 하기 때문에 Gizmo가 그리는 데 영향을 주는 파라미터를 속성으로 설정하고 그 중에서 update()
를 하는 것이 예의인 것 같다.Reference
이 문제에 관하여(Godot에 노드 2D의 Gizmo 그리기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ueshita/items/bc4cf7490e0c33bd5d20텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)