2016-07-20 4 views
0

Я хочу создать форму, которая не может быть построена с использованием сборки SceneKit в геометрических моделях, поэтому я хочу использовать для этого какую-то другую программу 3D-моделирования. Мне интересно, могут ли эти модели (созданные, например, в Blender) работать как модели, которые могут быть созданы непосредственно в SceneKit. Я хочу иметь возможность применять материалы и изменять цвет объекта в коде, и хочу знать заранее, если это возможно с импортированными моделями.Использование материалов на 3D-моделях, созданных в Blender

Я знаю, что могу экспортировать модель в файл .dae (файл Collada), и вот так я могу точно использовать модель, но не могу изменить ее материал.

Если это возможно изменить каким-либо другим способом, я был бы признателен, если бы вы могли вкратце объяснить, как объект должен быть экспортирован из Blender (в каком формате).

ответ

0

Фактически, вы можете изменить материал в формате Collada (dae).

Материалы содержатся в классе SCNMaterial.

Вот методы, которые можно использовать для доступа материал:


Во-первых, вы должны, вероятно, самый простой способ материального доступа:

SCNNode.geometry.firstMaterial

Этот метод дает ваш первый материал, который использует объект.


Далее вам весь доступ материал:

SCNNode.geometry.materials

Этот метод дает вам NSArray, содержащий все материалы, которые объект используют.


Тогда, наконец, у вас есть доступ имя good'ol:

[SCNNode.geometry.materialWithName: NSString]

Этот метод дает вам NSArray, содержащий все материалы, которые объект используют.


И в яблоневых документы:

Что такое SCNNode.geometry? Узнать больше here

access и manipulation.


Примечание стороны:

Чтобы фактически контролировать цвет/изображение SCNMaterial вам нужно использовать SCNMaterialProperty

SCNMaterial состоит из нескольких SCNMaterialProperty с.

Для получения дополнительной информации, пожалуйста, ознакомьтесь с документами

+0

Благодарим за помощь. Когда вы экспортируете модели в Blender, достаточно ли просто создать форму без текстур и без УФ-считывания, или я должен сделать это, чтобы иметь возможность применять их как материалы в Xcode? Я попытался установить диффузную карту первого материала моего объекта и получил сообщение о том, что «diffuse - свойство get-only». Поэтому я предполагаю, что я делаю что-то неправильно, прежде чем экспортировать. – Larisa

+0

Чтобы установить диффузное использование 'diffuse.contents'. Этот «диффузный» может быть настроен на цвет, изображение и т. Д. Для получения дополнительной информации посетите документы Apple на «SCNMaterialProperty» [здесь] (https://developer.apple.com/library/mac/documentation/SceneKit/Reference/ SCNMaterialProperty_Class/index.html # // apple_ref/скор/сл/с: ObjC (CS) SCNMaterialProperty). –

Смежные вопросы