Как добавить «дополнительные элементы» в MeshLibrary - PullRequest
0 голосов
/ 24 января 2019

Состояние GridMap docs :

GridMaps использует MeshLibrary, которая содержит список плиток: сетки с материалами плюс необязательные коллизии и дополнительные элементы.

Как я могу получить и установить эти "дополнительные элементы"?

Я хотел бы назначить свойство move_speed для каждой плитки MeshLibrary и получить к ней доступ из GridMap во время выполнения..

Я попытался добавить следующий сценарий к каждому Mesh в моей MeshLibrary сцене:

extends MeshInstance

export var move_speed = 0

В редакторе я установил move_speed для каждой дочерней сетки,затем экспортируйте сцену в meshlib.tres, используя Scene > Convert To > Mesh Library.В другой сцене я создал GridMap, используя эту экспортированную библиотеку сетки как theme.

. Во время выполнения я смотрю данные мозаики следующим образом:

var tile_idx = map.get_cell_item(selected_coord.x, selected_coord.y, selected_coord.z)
if tile_idx != GridMap.INVALID_CELL_ITEM:
    var tile = map.theme.get_item_mesh(tile_idx)

ОднакоОбъект плитки имеет тип ArrayMesh.У меня больше нет доступа к приложенному сценарию.Кроме того, ArrayMesh не расширяет Node, что означает, что я не могу перечислить детей, которых мог добавить в сцену MeshLibrary.

Есть ли способ сохранить «дополнительные элементы» для каждой плитки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...