Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

CSGPolygon3D

Успадковує: CSGPrimitive3D < CSGShape3D < GeometryInstance3D < VisualInstance3D < Node3D < Node < Object

Виводить форму полігону 2D для створення сітки 3D.

Опис

Багато точок 2D швидко і легко створюють різноманітні сітки 3D. Дивись також CSGMesh3D для використання 3D сітки як CSG вузли.

Note: CSG вузли призначені для використання для прототипування рівня. Створення вузлів CSG має суттєву вартість процесора порівняно з створенням MeshInstance3D з PrimitiveMesh. Переміщення вузла CSG в іншому CSG також має суттєву вартість процесора, тому він повинен бути уникнений під час гри.

Посібники

Властивості

float

depth

1.0

Material

material

Mode

mode

0

bool

path_continuous_u

float

path_interval

PathIntervalType

path_interval_type

bool

path_joined

bool

path_local

NodePath

path_node

PathRotation

path_rotation

bool

path_rotation_accurate

float

path_simplify_angle

float

path_u_distance

PackedVector2Array

polygon

PackedVector2Array(0, 0, 0, 1, 1, 1, 1, 0)

bool

smooth_faces

false

float

spin_degrees

int

spin_sides


Переліки

enum Mode: 🔗

Mode MODE_DEPTH = 0

Форма polygon виведена уздовж негативної осі Z.

Mode MODE_SPIN = 1

Форма polygon виведена шляхом обертання його навколо осі Y.

Mode MODE_PATH = 2

Форма polygon виведена вздовж Path3D, вказаного в path_node.


enum PathRotation: 🔗

PathRotation PATH_ROTATION_POLYGON = 0

Форма polygon не обернена.

Примітка: Вимагає Z координати шляху розташовані за зменшенням для забезпечення можливих форм.

PathRotation PATH_ROTATION_PATH = 1

Форма polygon обертається уздовж шляху, але вона не обертається навколо осі шляху.

Примітка: Вимагає шлях З координує безперервне зменшення для забезпечення життєздатних форм.

PathRotation PATH_ROTATION_PATH_FOLLOW = 2

Форма polygon стежка і її обертання навколо осі шляху.


enum PathIntervalType: 🔗

PathIntervalType PATH_INTERVAL_DISTANCE = 0

Коли polygon встановлюється до MODE_PATH, path_interva визначить відстань, в метрах, кожен інтервал шляху буде виділений.

PathIntervalType PATH_INTERVAL_SUBDIVIDE = 1

Коли mode встановлюється до MODE_PATH, path_interva буде піддано полігонам по шляху.


Описи властивостей

float depth = 1.0 🔗

Коли mode є MODE_DEPTH, глибина екструзії.


Material material 🔗

Матеріал для використання для отриманої сітки. УФ запускає верхню половину матеріалу до викривленої форми (У вздовж довжини екструзій і В навколо контуру polygon), нижньо-лівий квартал переднього кінця обличчя, а нижній квартал до лицьового кінця.


Mode mode = 0 🔗

  • void set_mode(value: Mode)

  • Mode get_mode()

mode використовується для виведення polygon.


bool path_continuous_u 🔗

  • void set_path_continuous_u(value: bool)

  • bool is_path_continuous_u()

Коли mode є MODE_PATH, за замовчуванням, верхня половина material простягається по всій довжині вигнутої форми. Якщо false верхня половина матеріалу повторюється кожен крок екструзії.


float path_interval 🔗

  • void set_path_interval(value: float)

  • float get_path_interval()

Коли mode є MODE_PATH, інтервал шляху або співвідношення точок шляху до екструзій.


PathIntervalType path_interval_type 🔗

Коли mode є MODE_PATH, це дозволить визначити, якщо інтервал повинен бути дистанцією (PATH_INTERVAL_DISTANCE) або дочірні фракції (PATH_INTERVAL_SUBDIVIDE).


bool path_joined 🔗

  • void set_path_joined(value: bool)

  • bool is_path_joined()

Коли mode є MODE_PATH, якщо true додаються кінці шляху, додаючи екструзію між останніми і першими точками шляху.


bool path_local 🔗

  • void set_path_local(value: bool)

  • bool is_path_local()

Коли mode є MODE_PATH, якщо true Transform3D CSGPolygon3D використовується як початкова точка для екструзій, а не Transform3D path_node.


NodePath path_node 🔗

  • void set_path_node(value: NodePath)

  • NodePath get_path_node()

Коли mode є MODE_PATH, розташування об'єкта Path3D, що використовується для виведення polygon.


PathRotation path_rotation 🔗

Коли mode є MODE_PATH, метод обертання шляху використовується для обертання polygon, як він виводиться.


bool path_rotation_accurate 🔗

  • void set_path_rotation_accurate(value: bool)

  • bool get_path_rotation_accurate()

Якщо mode дорівнює MODE_PATH, якщо true, полігон буде обертатися відповідно до дотичної до шляху в точках, де зроблено вибірку. Якщо false, буде використано наближення, точність якого зменшується зі зменшенням кількості підрозділів.


float path_simplify_angle 🔗

  • void set_path_simplify_angle(value: float)

  • float get_path_simplify_angle()

Коли mode є MODE_PATH, екструзії, які менше цього кута, будуть об'єднані між собою, щоб зменшити кількість полігонів.


float path_u_distance 🔗

  • void set_path_u_distance(value: float)

  • float get_path_u_distance()

Коли mode є MODE_PATH, це відстань по шляху, в метрах, фактурні координати будуть плитка. При встановленні до 0 координат текстури будуть відповідати геометрії точно без нахилу.


PackedVector2Array polygon = PackedVector2Array(0, 0, 0, 1, 1, 1, 1, 0) 🔗

  • void set_polygon(value: PackedVector2Array)

  • PackedVector2Array get_polygon()

Кольори точки, що визначає полігон 2D, який виводиться. Це може бути конвексу або конденсатний полігон з 3 або більше точок. Полігон повинен * не* мати будь-які міжсекційні краї. В іншому випадку триангуляція не буде і ніякої сітки буде створюватися.

Note: Якщо в пам'ятний полігон визначаються лише 1 або 2 точки.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedVector2Array for more details.


bool smooth_faces = false 🔗

  • void set_smooth_faces(value: bool)

  • bool get_smooth_faces()

Якщо true, застосовує гладку обшивку до екструзій.


float spin_degrees 🔗

  • void set_spin_degrees(value: float)

  • float get_spin_degrees()

Коли mode є MODE_SPIN, загальна кількість ступенів polygon обертається при виведенні.


int spin_sides 🔗

  • void set_spin_sides(value: int)

  • int get_spin_sides()

Коли mode є MODE_SPIN, кількість екструзій виконано.