SpringArm3D

Успадковує: Node3D < Node < Object

3D-рейка, що динамічно пересуває свої діти біля точки зіткнення.

Опис

SpringArm3D відкидає промінь або форму вздовж його Ось Z і пересуває всі свої прямі діти до точки зіткнення, з додатковим запасом. Це корисно для 3-х осіб-камер, які переходять ближче до гравця, коли всередині щільного простору (необхідно виключити колорит гравця з контрольного зіткнення SpringArm3D).

Посібники

Властивості

int

collision_mask

1

float

margin

0.01

Shape3D

shape

float

spring_length

1.0

Методи

void

add_excluded_object(RID: RID)

void

clear_excluded_objects()

float

get_hit_length()

bool

remove_excluded_object(RID: RID)


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

int collision_mask = 1 🔗

  • void set_collision_mask(value: int)

  • int get_collision_mask()

Шари, на які здійснюється контроль зіткнення. Див. Коллізійні шари та маски в документації для отримання додаткової інформації.


float margin = 0.01 🔗

  • void set_margin(value: float)

  • float get_margin()

Під час перевірки зіткнення проводиться кандидатська довжина за SpringArm3D.

Після цього слід віднести до цієї довжини, а переклад наноситься на дочірні предмети SpringArm3D.

Цей запас корисний для того, коли SpringArm3D має Camera3D як дочірня вершина: без маржі, Camera3D будуть розміщені на точну точку зіткнення, при цьому з запасом Camera3D буде розміщено близько до точки зіткнення.


Shape3D shape 🔗

Shape3D для використання для SpringArm3D.

Коли форма встановлена, SpringArm3D буде пролити Shape3D на його осі замість виконання променевого лиття.


float spring_length = 1.0 🔗

  • void set_length(value: float)

  • float get_length()

Максимальна кількість SpringArm3D. Це використовується в якості довжини як для променя, так і для розрахунку бажаної позиції дочірніх вузлів SpringArm3D.

Щоб дізнатися більше про те, як виконати форму литкою або променем, будь ласка, проконсультуйтеся з документацією PhysicsDirectState3D.


Описи методів

void add_excluded_object(RID: RID) 🔗

Додає об'єкт PhysicsBody3D із заданим RID до списку об'єктів PhysicsBody3D, виключених з перевірки на колізії.


void clear_excluded_objects() 🔗

Очищає список об'єктів PhysicsBody3D, виключених з перевірки на колізії.


float get_hit_length() 🔗

Повертаємо поточну довжину весняної руки.


bool remove_excluded_object(RID: RID) 🔗

Вилучає заданий RID з переліку об'єктів PhysicsBody3D, виключених з перевірки зіткнення.