頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


SCNFloorの床が逆さま?

SceneKitで物理エンジンを試そうと”床”を作ったんだ。
{
    SCNFloor *floorGeometry = [SCNFloor floor];
    SCNNode *floorNode = [SCNNode nodeWithGeometry:floorGeometry];
    floorGeometry.firstMaterial.diffuse.contents = [NSColor lightGrayColor];//—(1)
    floorNode.physicsBody = [SCNPhysicsBody bodyWithType:SCNPhysicsBodyTypeStatic shape:nil];//—(2)
    [mainScene.rootNode addChildNode:floorNode];
    
//    floorNode.orientation = rotationQuaternion;//—(3)
}
↑こんな感じで(1)床に色付けて、(2)物理エンジンで処理できるように設定。
最初(3)の回転はなしとする。

SCNFloorデフォルト

↑これで実行するとどういうわけか床に色が付かない。物理演算は期待通りには動いてるけど。

そこで(3)のようにして床をx軸周りに180度回転させた。そうすると、、、

SCNFloorを180度回転

↑床の色は見えた。やっぱりさっきは裏を見ていたのか、と思ったのだが今度は物理演算の挙動がおかしい。180度回転させたのでxz平面より上側に質量があるような挙動になってる(平面上部より立方体を落とそうとするのだが生成と同時に平面の下へ追い出されそこから自由落下する)。

まあSCNBoxとか使えばなんとかなるからいいけどさ、、、

<< SCNFloorの床にオブジェクトが映らない  TopPage  SceneKitでシェーダにSCNMatrix4を渡す >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/1134-221e040c




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad