LINUX.ORG.RU

Godot: Луч проходит через объект

 


0

1

Здравствуйте.

Строение основной сцены:

- Node2D:
- - Player
- - Enemies:
- - - Enemy1
- - - Enemy2

Строение сцены врага (Enemy.tscn):

- KinematicBody2D:
- - Sprite
- - CollisionShape2D

Где Player - экземпляр сцены Player.tscn; Enemies - Node; Enemy1 и Enemy2 - экземпляры сцены Enemy.tscn;

Проблема в том, что когда Player испускает луч, используя get_world_2d.direct_space_state.intersect_ray(coordinates1, coordinates2, [self]), он проходит через Enemy2, не касаясь его (а должен), но в Enemy1 он попадает.

Как решить эту проблему?

★★★★

Последнее исправление: GREAT-DNG (всего исправлений: 4)

Картиночку, да с визуализацией из годота бы, уверен и самому будет проще и нагляднее разобраться, да и помогать так проще, ибо с контекстом-сценой будет очевиднее источник проблемы

AKonia ★★
()
Ответ на: комментарий от AKonia

Изображение не могу вследствии наимедлейшего мобильного интернета + грозы. Постарался как можно нагляднее изобразить строение сцены в тексте.

GREAT-DNG ★★★★
() автор топика
Ответ на: комментарий от GREAT-DNG

В таком случае могу только порекомендовать проверить все галки и физические свойства объектов, в том числе размеры и форму collisionshape2D, отсутствие галки Disabled(что = тому, что она на сцене не серая, а примерно синеголубоватая), также стоит проверить центр объектов и пр. Самое простое что мне приходит в голову для вангования - это либо лишний/забытый флажок, либо куда-то смещён CollisionShape2D, либо что-то с формой CollisionShape2D, в остальном повторюсь - без проекта или картинки сцены не может быть речи о конкретике. Из простых рекомендаций - рекомендую рисовать луч, или печатать геометрические данные

AKonia ★★
()

Ну так, у тебя враги существуют внутри Node, которые не видны из родительского элемента. Попробуй вытащить их оттуда на сцену. Маски должны быть настроены так, чтобы игрок и враги сталкивались.

InterVi ★★★★★
()
Ответ на: комментарий от InterVi

Проблема оказалась в собственном рукожоп неверном направлении луча, но все равно спасибо. Тема на Godot Forums

GREAT-DNG ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.