Не может считать слои в маске отбора камеры Unity3d

Я использую Единицу 5.5 на Ubuntu 16.10. У меня есть маска отбора камеры с определенным набором слоев.

Однако в редакторе Unity интерфейс, выпадающая маска отбора не отображает проверки рядом со слоями, которые я выбрал. В результате, когда у меня есть слишком много выбранных слоев, полевые чтения Mixed ..., и я не вижу, какие слои я установил маску для использования.

Когда я регистрируюсь camera.cullingMask, Я получаю странное целое число, которое я не могу постигать. Как я могу программно видеть, какие слои я выбрал в маске отбора?

4
задан 12 March 2017 в 20:20

1 ответ

У меня есть та же проблема на Ubuntu и никаком решении для ошибки галочки.

Однако я попытаюсь объяснить странное целое число , что Вы добираетесь от свойства. Это - немного поля, где каждому слою присваивают значение:

Layer name       | Layer Number | Mask value
Builtin Layer 0  |            0 | 1 << 0 =     1
Builtin Layer 1  |            1 | 1 << 1 =     2
Builtin Layer 2  |            2 | 1 << 2 =     4
Builtin Layer 3  |            3 | 1 << 3 =     8
Builtin Layer 4  |            4 | 1 << 4 =    16
Builtin Layer 5  |            5 | 1 << 5 =    32
Builtin Layer 6  |            6 | 1 << 6 =    64
Builtin Layer 7  |            7 | 1 << 7 =   128
User Layer 1 / 8 |            8 | 1 << 8 =   256
User Layer 2 / 9 |            9 | 1 << 9 =   512
...

(Кажется, что имена Пользовательского уровня могут запуститься в 1 или в 8 в зависимости от версии Единицы)

можно объединить эти значения, например Builtin Layer 5 и User Layer 9 привел бы к 1 << 5 | 1 << 9 = 2^5 | 2^9 = 32 | 512 = 32 + 512 = 544.

Read больше о Масках слоя в документации.

2
ответ дан 1 December 2019 в 10:16

Другие вопросы по тегам:

Похожие вопросы: