SceneKit FlattenedClone неожиданно меняет узелIOS

Программируем под IOS
Ответить
Anonymous
 SceneKit FlattenedClone неожиданно меняет узел

Сообщение Anonymous »

У меня есть 3D-модель, содержащая три геометрии, как показано ниже
Изображение

Это мой код, который создает такой SCNNode из файла USDZ:

Код: Выделить всё

  private func readGeo(fn: String) -> SCNNode {
let bundle = Bundle.main
let url = bundle.url(forResource: fn, withExtension: nil)!
let asset = MDLAsset(url: url)
asset.loadTextures()
let object = asset.object(at: 0)
let node = SCNNode(mdlObject: object)
return node
}
Затем мне нужно сгладить узел, так как я хочу сделать его единой геометрией, чтобы было легче прикрепить физическое тело. Поэтому я изменил возврат на:

Код: Выделить всё

return node.flattenedClone()
Положение геометрий кажется неправильным, как вы можете видеть ниже: (видите, крышка торчит)
Изображение

Вы можете скачать образец проекта здесь: https://drive.google.com/file/d/1ewudz3 ... sp=sharing
Изменить:
I поймите, что положение подузлов изменяется после сглаживания. Изначально они имеют ненулевую координату, но после выравнивания они располагаются так, как если бы они находились в нулевой координате. Я не знаю почему

Подробнее здесь: https://stackoverflow.com/questions/793 ... xpectively
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»