Как масштабировать Shaperesource в реальностиIOS

Программируем под IOS
Anonymous
Как масштабировать Shaperesource в реальности

Сообщение Anonymous »

Я конвертирую свое приложение Scenekit в RealityKit. В сценекит очень легко масштабировать Scnphysicsshape :

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

extension SCNPhysicsShape {
func scaled(by scale: SCNVector3) -> SCNPhysicsShape {
return transformed(by: SCNMatrix4(scale: scale))
}
func transformed(by transform: SCNMatrix4) -> SCNPhysicsShape {
return SCNPhysicsShape(
shapes: [self],
transforms: [NSValue(scnMatrix4: transform)])
}
}
< /code>
Однако, с RealityKit, Shaperesource поддерживает только вращение и перевод, но не масштабируйте. Т.е. есть Shape.offsetby (rowation :) 
и shape.offsetby (translation :) , но нет соответствующих API шкалы. Модельность загружается из файла USDZ, и он вращается, масштабируется и центрируется в родительском контейнере. Сама родительская контейнерная сущность не имеет траснформы (то есть эта родительская контейнерная сущность скрывает сложность предварительной обработки файла USDZ - например, масштаб и вращение - от внешнего мира). < /P>
Теперь я хочу создать фирменные средства для родительского объекта контейнера, которая соответствует детской модели, физике и стабильности. (т.е. мне нужно создать Shaperesource из детской модели, а затем применить форму с той же преобразованием, что и преобразование детской модели).
Я не хочу добавлять компоненты физики/столкновения в детскую модель, потому что я хочу получить хит -саму Контейнерная сущность, они не должны знать, как она реализована внутри). Также этот API генерирует только компоненты для модели, но я хочу, чтобы он был на контейнере.

Подробнее здесь: https://stackoverflow.com/questions/797 ... realitykit

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