Я использую Единицу 5.5 на Ubuntu 16.10. У меня есть маска отбора камеры с определенным набором слоев.
Однако в редакторе Unity интерфейс, выпадающая маска отбора не отображает проверки рядом со слоями, которые я выбрал. В результате, когда у меня есть слишком много выбранных слоев, полевые чтения Mixed ...
, и я не вижу, какие слои я установил маску для использования.
Когда я регистрируюсь camera.cullingMask
, Я получаю странное целое число, которое я не могу постигать. Как я могу программно видеть, какие слои я выбрал в маске отбора?
У меня есть та же проблема на 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 больше о Масках слоя в документации.