如何设置相机指向对象

时间:2015-06-10 09:19:18

标签: ios 3d scenekit

在我的应用程序中,我从不同的文件加载模型(格式是相同的),它们有不同的几何形状:大,小,宽等。我有对象和相机位置硬编码,在某些情况下我不喜欢看到任何东西,因为相机没有指向对象。

在将模型添加到场景之前,可能有一种规范化模型的方法。

更新。 随着Moustach的回答,我提出了以下解决方案:

// import object from file
SCNNode *object = [importer load:path];
object.position = SCNVector3Make(0, 0, 0);        
[scene.rootNode addChildNode:object];

// create and add a camera to the scene
SCNNode *cameraNode = [SCNNode node];
cameraNode.camera = [SCNCamera camera];
// to avoid view clipping
cameraNode.camera.automaticallyAdjustsZRange = YES;
// set camera position to front of object
SCNVector3 sphereCenter;
CGFloat sphereRadius;
[object getBoundingSphereCenter:&sphereCenter radius:&sphereRadius];
cameraNode.position = SCNVector3Make(sphereCenter.x, sphereCenter.y, sphereCenter.z + 2 * sphereRadius);
[scene.rootNode addChildNode:cameraNode];

适合我。

1 个答案:

答案 0 :(得分:0)

您可以calculate the bounding box of your mesh,并根据您获得的数字进行缩放,使其与其他对象的尺寸相同。