2016-12-09 2 views
1

Was passiert, wenn ich eine eine Drehung auf einem scenekit Knotenobjekt auf diese Weise machen:Ist SceneKit Knoten Rotation kumulative

node.rotation = SCNVector4Make(1, 0, 0, M_PI_2) 

Ist es PI/2 auf bestehende Rotation hinzufügt oder nicht gesetzt es Objektwinkel zu PI/2?

Mit anderen Worten, was passiert, wenn ich zweimal diese Zeile nennen:

node.rotation = SCNVector4Make(1, 0, 0, M_PI_2) 

Ist es zu PI/2 oder PI drehen?

Ich habe die gleiche Frage für node.eulerAngles Eigenschaft

Dank

Antwort

1

keine der SCNNode Eigenschaften Transformationen in Bezug auf ist „kumulativ“, ebenso wie die transform ein CALayer zum Beispiel. Um Transformationen zu kombinieren, sollten Sie utils wie SCNMatrix4Rotate verwenden.

0

Während ich mit mnuages ​​nie darüber streiten werde, was in SceneKit ist (ich denke, er arbeitet daran bei Apple), werde ich behaupten, dass er deine Frage zu wörtlich genommen hat.

Wenn Sie nach kumulativer Rotation suchen, ist es in SceneKit verfügbar, wenn Sie wissen, wie viel Rotation Sie möchten. Sie können die zwei rotateBy SCNActions verwenden.

Sie sind:

rotateBy(x:y:z:duration:)

und:

rotate(by:around:duration:)

von diesen beiden wird wiederholt, kumulativ angewandt werden, um die Drehung des Objekts hinzufügen.

Verwandte Themen