我有两个问题在头脑中放置三维物体。
2.如何将物体面向摄像机,将三维物体置于平面表面。移动手机摄像头可以看到物体的背面。
我正在使用XCode 9.1和iOS 11及以上版本,ARKIT
发布于 2018-01-12 13:29:42

要旋转汽车节点,您只需调整eulerAngles,直到汽车面对摄像机。
node?.eulerAngles = SCNVector3Make(0,Float(degToRadians(degrees:180 )),Float(degToRadians(degrees: 90)))把这辆车转到前面。

eulerAngles是以弧度表示的,因此可以方便地转换为学位:
public func degToRadians(degrees:Double) -> Double
{
return degrees * (M_PI / 180);
}您还可以使用动画在van节点上执行相同的旋转操作。
let rotate = SCNAction.rotateBy(x: CGFloat(degToRadians(degrees: -90)), y: 0, z: 0, duration: 1)
node.runAction(rotate)您可以使用SCNLookAtConstraint,它沿着parentNode的负z轴跟随pointOfView。
所以如果汽车的负z轴是对着侧门的摄像头.当你旋转相机的时候,在车周围.这辆车会一直旋转,一直保持着这样的视野。
let constraint = SCNLookAtConstraint(target:sceneView.pointOfView)
constraint.isGimbalLockEnabled = true
node.constraints = [constraint]在Xcode内部,下面的屏幕截图显示了如何使用euler角(以红色突出显示)改变货车的旋转。视图应该是“正面”摄像机(也用红色突出显示)。动画也可以通过动画面板在Xcode中完成,选择“旋转动作”&拖动到-middle底部的动作时间线中。

https://stackoverflow.com/questions/48223069
复制相似问题