3

私はと働いていSceneKitます。オブジェクトSCNNodeは中心に対して回転します。のアンカーポイントを変更するにはSCNNode?

SCNScene *scene = [SCNScene new];

SCNBox *boxGeometry = [SCNBox boxWithWidth:384.f height:512.f length:20.f chamferRadius:0];

SCNMaterial *material = [SCNMaterial new];
material.diffuse.contents = [UIImage imageNamed:@"material"];

SCNNode *boxNode = [SCNNode nodeWithGeometry:boxGeometry];
boxNode.geometry.firstMaterial = material;
boxNode.pivot = SCNMatrix4MakeTranslation(0.5f, 0.5f, 0.5f);
[scene.rootNode addChildNode:boxNode];

self.sceneView.scene = scene;
self.sceneView.allowsCameraControl = YES;
4

2 に答える 2

2

ピボット変換の変換は、ボックスのサイズに比べて非常に小さいです。正規化されていません。

角の 1 つの周りを移動する場合は、側面の半分をすべての方向に移動する必要があります。

boxNode.pivot = SCNMatrix4MakeTranslation(384.0/2.0, 512.0/2.0, 20.0/2.0);
于 2014-11-07T07:48:03.163 に答える
0

簡単な例として:

yourSceneNode.pivot = SCNMatrix4MakeTranslation(0.5, 0.5, 0.5),

ノードの位置、回転、スケールのプロパティを変更します。

SCNNode クラス リファレンスはこれをうまく説明しています

于 2014-11-07T06:26:35.517 に答える