Как масштабировать SCNNode, все его дети и его физику тела? - PullRequest
0 голосов
/ 12 апреля 2020

ЦЕЛЬ

Здравствуйте, у меня есть модель автомобиля (SCNNode), и мне нужно масштабировать ее, сохраняя ее размеры и размеры ее дочерних элементов.

ТЕКУЩАЯ СИТУАЦИЯ

У меня есть SCNPlane. Когда я нажимаю на нее, я получаю позицию, где появляется модель автомобиля. Позже я породил машину. Но он слишком большой

Пример видео


Теперь модель автомобиля слишком большая. Мне нужно уменьшить его размер пропорционально размеру листа А4.

Иерархия выглядит следующим образом:

hierarchy


Чтобы уменьшить размер, который я использовал масштаб carNode.scale функция, но я получаю неправильные результаты. Это код:

// Scale factor
let newScale = Float(0.5)
// Scale carNode
chassisNode!.scale = SCNVector3Make(newScale, newScale, newScale)

// Scale all children nodes
for child in chassisNode!.childNodes
{
    child.scale = SCNVector3Make(newScale, newScale, newScale)
}

Результат следующий:

result

Что не так? Это неправильный метод?

Спасибо


Я нашел этот пост , где люди говорят об одной и той же проблеме (с той же моделью). Я еще не решил это. Я решил импортировать модель в Blender e для масштабирования из нее (как сказано здесь ), но теперь ситуация такова:

video

Почему это происходит?


Я нашел несколько постов на официальном форуме Apple , где проблема та же. Я понял, что это не только моя проблема. Я также использовал другую модель, но без результатов.

Проблема в том, что это , и это происходит, когда я масштабирую модель, сохраняя ту же иерархию.

...