Может ли кто-нибудь сказать мне строки кода, которые мне нужны для копирования UV из одной модели в другую (с идентичной топологией) в Swift?
Или как экспортировать UVSet из Autodesk Maya и применить его к 3D-модели в Scenekit?
Может ли кто-нибудь сказать мне строки кода, которые мне нужны для копирования UV из одной модели в другую (с идентичной топологией) в Swift?
Или как экспортировать UVSet из Autodesk Maya и применить его к 3D-модели в Scenekit?
Координаты текстуры хранятся в экземплярах SCNGeometrySource
. Чтобы скопировать источник в другую геометрию, вам придется объединить их и создать новую геометрию, используя geometryWithSources:elements:
конструктор.
ARSCNFaceGeometry
так, как я хочу. Я экспортировал сетку в Maya. Так что я могу текстурировать его и изменить UV-отображение. Я хочу вернуть это новое сопоставление текстур обратно в scenekit и заменить сопоставление uv в файле ARSCNFaceGeometry
. SCNGeometrySource
определенно правильный путь или есть лучший способ? Я заметил, что у SCNMaterialProprty
есть mappingChannel
. Можно ли использовать это вместо этого? Нужно ли мне для этого экспортировать UV-лист из Maya?
- person Geoff H; 30.04.2018
Вот MEL-код для получения .OBJ
геометрии и соответствующей ей .MTL
текстуры из Maya:
// select poly object
select -r pSphereShape1 ;
// shift-select a procedural texture (assigned as Blinn) in Hypershade
select -tgl blinn1 ;
// assign "Edit – Convert to file texture..." command in Hypershade
convertSolidTx -resolutionX 1024 -resolutionY 1024 -fileFormat "jpg" ramp1.outColor pSphere1 ;
// This results in "file2" in Hypershade
// select new shader
select -r blinn2 ;
// "File – Export Selected Network" command in Hypershade
file -op "groups=1; ptgroups=1; materials=1; smoothing=1; normals=1; " -typ "OBJexport" -pr -es "/Users/swift/Desktop/texture.obj" ;
/*
This results in:
/Users/swift/Desktop/texture.obj
/Users/swift/Desktop/texture.mtl
*/
Читайте здесь: Как подать заявку Файл .MTL в 3D-модели .OBJ с помощью SceneKit и ввода/вывода модели.