2017-06-27 4 views
0

私はそうのようなシーンにカスタムオブジェクトを挿入することができる午前、シーン内のカスタムオブジェクト(dae)をどのようにスケールするのですか?

NSURL *urlToColladaFile = [[NSBundle mainBundle] URLForResource:@"Assets.scnassets/vase-15k_saliency" withExtension:@"dae"]; 
    SCNSceneSource *sceneSource = [SCNSceneSource sceneSourceWithURL:urlToColladaFile options:nil]; 
    SCNNode *node = [sceneSource entryWithIdentifier:@"node" withClass:[SCNNode class]]; 
    node.physicsBody = [SCNPhysicsBody bodyWithType:SCNPhysicsBodyTypeDynamic shape:nil]; 
    node.physicsBody.mass = 2.0; 
    node.physicsBody.categoryBitMask = CollisionCategoryCube; 
    node.position = position; 
    node.scale = SCNVector3Make(0.1,0.1,0.1); 

規模は、オブジェクトが小さな見えるのですが、ジオメトリは元のサイズのままです。どのようにしてジオメトリをスケールして、オブジェクトを大きく/小さくすることができますか?

node.transformを使用する必要がありますか?またはnode.pivot?どのポインタも参考にしてください。

答えて

0

スケールを追加し、それはスケールから計算される変換は同じである:

変換は、ノードの 回転、位置、およびスケールの特性の組み合わせです。デフォルトの変換はSCNMatrix4Identityです。 このプロパティの値を設定すると、ノードのrotation、orientation、eulerAngles、position、scaleプロパティが自動的に新しいトランスフォームに一致するように変更され、その逆もあります。

ピボットプロパティは同じ効果がありますが、ノード座標空間とその変換の間にオフセットを必要とする場合にのみ使用してください。

ジオメトリのサイズを変更したい場合は、サイズを小さくしてエクスポートすることもできますが、同じ効果が得られるはずです。 性能上の理由からレンダリングするポリゴンの数を減らす場合は、SCNLevelOfDetail

関連する問題