How to scale DAE models correctly in ARKit and SceneKit?

牧云@^-^@ 提交于 2021-02-07 08:41:24

问题


I'm currently trying to combine the following sources:

Apples SceneKit Vehicle Demo, Resp. its Swift version, ARKit by example, and resp. its Swift version.

Each project on its own works like a charm (although I changed the vehicle demo so that the car can be controlled by on-screen buttons).

Now, when I try to combine both projects to create an augmented reality racing game, I run into problems regarding the size of the .dae model of the car: it's too big.

I can scale the model using the (chassis) nodes .scale property, but as soon as I add the SCNPhysicsVehicle properties and behaviour, the car gets reset(?) to its original size. I tried to scale the model in Xcode (open dae file, change scale), but its bounding box remains the same - that tells me that the rescaling didn't work properly.

Any hints?


回答1:


1)you can scale the dae models by art.scnassets directly.

art.scnassets -> car.dae -> node inspector -> transforms -> scale the object

2) can scale 3dmodel by SCNAction

let scene = SCNScene(named: "art.scnassets/cup.dae")!
let node = scene.rootNode.childNode(withName: "cup", recursively: true)!
let action = SCNAction.scale(by: sender.scale, duration: 1.0)
node.runAction(action)



回答2:


What I like to do is use Blender or some other 3d modeling program to resize your dae model to work in meters. Everything in ARKit is based on meters, so by sticking to the same metric you can get all your models to play well together without having to guess what the scale factor needs to be.




回答3:


I'm not sure how to fix the model directly in Xcode. However, you can fix it in blender. Start by importing the object into blender. Select the object and observe it's dimensions. Scale the object to the desired dimensions and apply them by hittin Ctrl + A, and selecting scale. Alternatively, from the object menu, you can select Apply -> Scale. Now you can export your model with the corrected size.



来源:https://stackoverflow.com/questions/45188188/how-to-scale-dae-models-correctly-in-arkit-and-scenekit

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!