タグ

OpenGL ES 2.0

インスタンストレンダリング(インスタンストアトリビュート)と頂点データをひとつにまとめたレンダリングの比較

インスタンストレンダリングはOpenGL ES 3.0からの標準機能ですが、iOS7では、全てのiOS7対応デバイスにおいてOpenGL ES 2.0でも拡張機能としてインスタンストレンダリングができるらしいです。
ということで手持ちのiOS7対応デバイスで(といってもiPhone 4sと5sだけですが)軽く性能を計測してみました。
(GLKViewControllerだと60FPSが上限みたいなので、その辺りを割り込む辺りしか計測してません。)

続きを読む
Bulletで人体を歩かせる その2

前回の動画のものは、キャラの位置と進行速度を決定するために衝突判定を無くしたKinematicオブジェクトひとつを胴体に括りつける感じで使っていました。
これはかなり強引な方法で、安定性は増すのですが、物理的な自由度は減ります。
例えば飛んできた鉄球に当たったとき人体の各パーツはきちんと衝突反応しますが、人体そのものは飛んでいきません。
(btGeneric6DofConstraintでy軸のみ自由度を持たせてたので厳密にはy軸方向へのみある程度飛ぶはずです。)

続きを読む
Bulletで人体を歩かせる


(iOSシミュレータによる実行結果を録画しました。実行&録画したマシンの性能がよくないのでちょっと動画がカクカクしてます。)

続きを読む
bulletでラグドールを自立させるテスト

物理演算を利用したゲームは近年かなり増えましたが、人体のような複雑なものについては、例えば生きてる間はあらかじめ用意されたモーションに従って大胆に簡略化された物理に沿って動き、死んだ瞬間にラグドール化しある程度詳細な物理を適用するという方法がよく採られています。
(以降、前者をゲーム物理、後者をリアル物理と呼ぶことにします。)

続きを読む