Как сделать 3D-модель с полупрозрачными текстурами в XCode? - PullRequest
0 голосов
/ 26 августа 2018

Я не могу заставить 3D-модель с прозрачными текстурами правильно отображаться в Xcode.

3D-модель волос состоит из двух геометрий (волосы и шапка) и была создана в Maya.Это было куплено в наличии от здесь .

Правильно представленная модель выглядит следующим образом (без головы): enter image description here

Я экспортировал модель в формат COLLADA (DAE), поместил ее в папку model.scnassets вместе с ее текстурами и добавил в Xcode.Однако в Xcode Scene Editor это выглядит так:

enter image description here

Что здесь не так?


Обновление:

Настройка Transparent > Intensity = 5, Settings > Transparency > Blend Mode = Double Sided, Settings > Transparency > Options > Writes depth = false дает это изображение, где полигоны волос на синей сфере отображаются правильно, но над синей сферой полигоны визуализированных волос не являются ближайшими к камере, но, кажется,быть теми, кто на задней стороне модели волос.Это, очевидно, из-за Writes depth = false, но, кажется, необходимо отключить его, чтобы сделать полупрозрачные волосы.(Используется коричневая текстура вместо прочитанной, но результат одинаковый независимо от выбранной текстуры)

enter image description here

1 Ответ

0 голосов
/ 26 августа 2018

Если вы хотите увидеть правильный результат слота Transparent в Xcode Scene Editor, вам нужно использовать предварительно умноженные TIFF или PNG файлы для прозрачных частей вашего 3D-объекта.Форматы файлов TIFF и PNG могут содержать четыре канала (RGBA), но JPEG может содержать только три канала (RGB).

Premultiplied означает RGB * Alpha = RGBA (но не исключая RGB, A).

После применения предварительно умноженной текстуры к слоту Transparent установите ее свойство Intensity в 1...5 и свойство Components для желаемого канала израскрывающееся меню (All, Red, Green, Blue, Alpha).

enter image description here

enter image description here

Документация Apple.

По умолчаниюобъект содержимого прозрачного свойства имеет полностью непрозрачный черный цвет, поэтому свойство не имеет видимого эффекта.Установка прозрачного свойства содержимого для любого сплошного цвета равномерно уменьшает непрозрачность материала на основе значения непрозрачности этого цвета.Чтобы части материала выглядели прозрачными, установите для свойства свойства изображение или другое содержимое с текстурным наложением, альфа-канал которого определяет области полной или частичной непрозрачности.

enter image description here

enter image description here

enter image description here

...