Tôi đang cố gắng để hiểu sự khác biệt giữa các yếu tố khác nhau được giới thiệu vào ARKIT và họ có thể tương đương trong SceneKit:ARKIT vs SceneKit phối
SCNNode.simdTransform
vsSCNNode.transform
. Trong ARKit, có vẻ như mọi người sử dụngSCNNode.simdTransform
thay vìSCNNode.transform
. Chúng khác nhau như thế nào? simdTransform dường như sử dụng thứ tự cột lớn, trong khi biến đổi (SCNMatrix4) là hàng lớn. Làm thế nào để chuyển đổi một cái khác? Chỉ cần chuyển đổi? Tôi đã ấn tượng rằng việc theo dõi không hoạt động cũng như nếu tôi sử dụngtransform
thay vìsimdTransform
. Đó là dự kiến hay chỉ là một ấn tượng? Nếu tôi đặt một thuộc tính, điều gì sẽ xảy ra nếu tôi đặt một thuộc tính khác?ARFrame.camera
vsScene.pointOfView
: Nhìn vào biến đổi của họ, họ dường như có một chút khác nhau:
.
// ARFrame.camera.transform (matrix_float4x4)
-0.01 0.99 -0.11 0.02
-0.99 0.00 0.11 0.06
0.10 0.11 0.98 0.0
0.0 0.0 0.0 1.0
// sceneView.pointOfView.transform (SCNMatrix4)
// or sceneView.pointOfView.simdTransform^T (matrix_float4x4)
0.99 0 0.11 0
0.01 0.99 -0.12 0
-0.11 0.11 0.98 0
0.03 0.6 0.0 0.99
Chúng có cùng một vòng xoay không?
_ "Tôi đã ấn tượng rằng việc theo dõi không hoạt động cũng như nếu tôi sử dụng chuyển đổi thay vì simdTransform. Đó là dự kiến hoặc chỉ là một ấn tượng?" _ ;-) Chỉ có bạn mới có thể biết được đó chỉ là ấn tượng của bạn hoặc bạn có bằng chứng khó ví dụ bằng cách nhìn thấy các bản ghi Xcode cho biết _ [Kỹ thuật] Hiệu suất theo dõi thế giới đang bị ảnh hưởng bởi các ràng buộc tài nguyên_ Hãy cho chúng tôi biết nếu nó là thứ hai, điều đó sẽ rất thú vị. – PDK