java如何将照片转换为矩阵_如何将相机外部矩阵转换为 SCN 相机位置和旋转

@lock 的补充几项看起来不错:

(1)在 cameraNode 是动画或父级的情况下,访问 SCNNode worldTransform 而不是 transform:

let view = SCNMatrix4Invert(cameraNode.presentationNode.worldTransform)

(2)代码未考虑视图的长宽比。 e.g. ,假设透视投影,您需要执行以下操作:

perspMatrix.m11 /= viewportAR; //if using Yfov -> adjust Y`

/* or, */

perspMatrix.m22 *= viewportAR; //if using Xfov -> adjust X`

viewportAR = viewport.width / viewport.height

另一种方法是在场景中有一个具有渲染委托的节点,然后从该委托检索 SceneKit 的矩阵(它们作为选项传递):

FOUNDATION_EXTERN NSString * const SCNModelTransform;

FOUNDATION_EXTERN NSString * const SCNViewTransform;

FOUNDATION_EXTERN NSString * const SCNProjectionTransform;

FOUNDATION_EXTERN NSString * const SCNNormalTransform;

FOUNDATION_EXTERN NSString * const SCNModelViewTransform;

FOUNDATION_EXTERN NSString * const SCNModelViewProjectionTransform;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值