hibitekitou
毎回結果が違うものなのかどうなのか。
xsi |2011-12-15
Tori と踊る男。 [Junki The Junkie's Junkyard]
そのあまりに素敵なダンスとカメラワークに魅了されつつ、そこで語られたRSMB…、もとい、リジットボディについて、ちょっとだけ検証してみました。
![](https://blogimg.goo.ne.jp/user_image/1b/74/c3c5c60ad13d74392cc4d861b0294a03.jpg?random=17896e4b0decac4e85723c666fa5691c)
左メニューのCreate Rigid Bodiesから作成されるシンプルなICE Treeに重力を追加し、2012 SAPですとシミュレートのエンジンがBullet Physicsなので、2012まで標準であったPhysXエンジンと思われるSimulate Rigid Bodiesに差し替えて、シミュレートごとに結果が変わるのか、という事の検証結果です。
パラメータをいっさい変更しなくても、再生するごとに結果が変わってくるらしい、というその状況が本当なのか否か。
![](https://blogimg.goo.ne.jp/user_image/3c/7f/5aa8859aa4506bc5cabbb5e6471cb420.jpg?random=36f6fdd55da45e7cd02e839fdbcb8f1e)
![](https://blogimg.goo.ne.jp/user_image/59/41/d8eb4aff9591f70631097e815e662381.jpg?random=5a95fc0f47a72fac577f3c10ca922f70)
![](https://blogimg.goo.ne.jp/user_image/7a/8e/3f4376ba3561203d23ae4d4286afced1.jpg?random=dabe4f9dfbab06a419a884aa1da888a1)
![](https://blogimg.goo.ne.jp/user_image/03/c9/101ce746030f0c6d46bd9a02d1063bbb.jpg?random=8237f2e69f70b747200d64c8dde5737e)
上図のように、シミュレートのエンジンの違いと、シェイプの違い(ICE標準のプリミティブかインスタンスか)の4パターンについて、再生するごとに結果が変わるかの簡単な結果が以下です。左右に並んでいるのが、再生の1回目と2回目の比較となります。
![](https://blogimg.goo.ne.jp/user_image/18/26/f7b3251212359d444944ac630f8bf151.jpg?random=16dd041f42cc4318f25bce1d9b1fc045)
![](https://blogimg.goo.ne.jp/user_image/35/11/8c3cc8d9fef0aa6b0bd39ff7e0870429.jpg?random=233568d8a67880aa5de3677cae33b42c)
![](https://blogimg.goo.ne.jp/user_image/00/70/56d4a1bb625f873efeb53aea23bbd168.jpg?random=708e8efc7503412629a93dd0e0b9fcc0)
![](https://blogimg.goo.ne.jp/user_image/19/ff/6964215d5cd54c63de2318ee62b8a54e.jpg?random=ee149812ab1aab29de987dfd86e581cf)
下に敷かれたグリッドにコリジョンした後の挙動が全部違いますね。
ってことで、シミュレート結果は、毎回だいたい似たような結果になるけれども、シミュレートごとに変わってくる、と言うことを許容しないといけない雰囲気です。
これ、シミュレートごとに完全に一致させる事はできるんですかね。
<追記>
11/12/17
まだ、下記シーンでの確認しかしていませんが、こんな現象になっています。
![](https://blogimg.goo.ne.jp/user_image/76/f4/1da2ca614859026e2bd6d1cac5eaa5fb.jpg?random=23ab3293d31374f8c87895d32b8e6738)
Play ControlのPrecisionのForomatが、テストをする前は24fpsでした。それを30fpsに変更。
![](https://blogimg.goo.ne.jp/user_image/3f/38/910bb6e869097cddb408edd62efdbf21.jpg?random=976001b9dd75c048c3dda5fac32a826e)
シーンを再生して、シーンのフレームのお尻に行ったらスクリーンキャプチャして、カレントフレームをトップに戻し、また再生。というのを5回行います。その結果が以下の通り。
![](https://blogimg.goo.ne.jp/user_image/31/ae/a6e2c51fdaf1f70ffa310de2bebd0556.jpg?random=71ce67e8a52aeca7c949292280407c53)
あれ?って思いませんか?
再生の回数が奇数の物と偶数のもの、それぞれで結果が似ているように見えます。Photoshopで差の絶対値で重ねると、真っ黒になりました。つまり、最低限シーンの最終フレームでの結果が再生の奇数回と偶数回それぞれで一致している事になります。
一度、formatを59.94fpsに変えて一回再生し、また30fpsに戻して、また5回再生してみました。
![](https://blogimg.goo.ne.jp/user_image/19/e2/13c7fde6923d93ada1653c27c88f561d.jpg?random=8c011959d01c2950edfefe1397aca425)
やはり偶数回と奇数回、それぞれで結果が一致しています。一致しているものの、59.94fpsに変える前の30fpsでのテスト時の結果とは違うものになっています。
これはどう考えればいいんですかね。
あるいはこのシーンでは再現しなかったのですけど、formatの値が59.94fpsだと安定せず、それを30fpsにしたら安定した、という事もありました(パラメータをいじらなければ、再生の度に結果が変わる、という事が皆無という状況)。この安定した状態が理想なんですけど、なんなんでしょうかね。
バグなのか、どこか設定がおかしいのか…。
追記>
そのあまりに素敵なダンスとカメラワークに魅了されつつ、そこで語られたRSMB…、もとい、リジットボディについて、ちょっとだけ検証してみました。
![](https://blogimg.goo.ne.jp/user_image/1b/74/c3c5c60ad13d74392cc4d861b0294a03.jpg?random=17896e4b0decac4e85723c666fa5691c)
左メニューのCreate Rigid Bodiesから作成されるシンプルなICE Treeに重力を追加し、2012 SAPですとシミュレートのエンジンがBullet Physicsなので、2012まで標準であったPhysXエンジンと思われるSimulate Rigid Bodiesに差し替えて、シミュレートごとに結果が変わるのか、という事の検証結果です。
パラメータをいっさい変更しなくても、再生するごとに結果が変わってくるらしい、というその状況が本当なのか否か。
![](https://blogimg.goo.ne.jp/user_image/3c/7f/5aa8859aa4506bc5cabbb5e6471cb420.jpg?random=36f6fdd55da45e7cd02e839fdbcb8f1e)
![](https://blogimg.goo.ne.jp/user_image/59/41/d8eb4aff9591f70631097e815e662381.jpg?random=5a95fc0f47a72fac577f3c10ca922f70)
![](https://blogimg.goo.ne.jp/user_image/7a/8e/3f4376ba3561203d23ae4d4286afced1.jpg?random=dabe4f9dfbab06a419a884aa1da888a1)
![](https://blogimg.goo.ne.jp/user_image/03/c9/101ce746030f0c6d46bd9a02d1063bbb.jpg?random=8237f2e69f70b747200d64c8dde5737e)
上図のように、シミュレートのエンジンの違いと、シェイプの違い(ICE標準のプリミティブかインスタンスか)の4パターンについて、再生するごとに結果が変わるかの簡単な結果が以下です。左右に並んでいるのが、再生の1回目と2回目の比較となります。
![](https://blogimg.goo.ne.jp/user_image/18/26/f7b3251212359d444944ac630f8bf151.jpg?random=16dd041f42cc4318f25bce1d9b1fc045)
![](https://blogimg.goo.ne.jp/user_image/35/11/8c3cc8d9fef0aa6b0bd39ff7e0870429.jpg?random=233568d8a67880aa5de3677cae33b42c)
![](https://blogimg.goo.ne.jp/user_image/00/70/56d4a1bb625f873efeb53aea23bbd168.jpg?random=708e8efc7503412629a93dd0e0b9fcc0)
![](https://blogimg.goo.ne.jp/user_image/19/ff/6964215d5cd54c63de2318ee62b8a54e.jpg?random=ee149812ab1aab29de987dfd86e581cf)
下に敷かれたグリッドにコリジョンした後の挙動が全部違いますね。
ってことで、シミュレート結果は、毎回だいたい似たような結果になるけれども、シミュレートごとに変わってくる、と言うことを許容しないといけない雰囲気です。
これ、シミュレートごとに完全に一致させる事はできるんですかね。
<追記>
11/12/17
まだ、下記シーンでの確認しかしていませんが、こんな現象になっています。
![](https://blogimg.goo.ne.jp/user_image/76/f4/1da2ca614859026e2bd6d1cac5eaa5fb.jpg?random=23ab3293d31374f8c87895d32b8e6738)
Play ControlのPrecisionのForomatが、テストをする前は24fpsでした。それを30fpsに変更。
![](https://blogimg.goo.ne.jp/user_image/3f/38/910bb6e869097cddb408edd62efdbf21.jpg?random=976001b9dd75c048c3dda5fac32a826e)
シーンを再生して、シーンのフレームのお尻に行ったらスクリーンキャプチャして、カレントフレームをトップに戻し、また再生。というのを5回行います。その結果が以下の通り。
![](https://blogimg.goo.ne.jp/user_image/31/ae/a6e2c51fdaf1f70ffa310de2bebd0556.jpg?random=71ce67e8a52aeca7c949292280407c53)
あれ?って思いませんか?
再生の回数が奇数の物と偶数のもの、それぞれで結果が似ているように見えます。Photoshopで差の絶対値で重ねると、真っ黒になりました。つまり、最低限シーンの最終フレームでの結果が再生の奇数回と偶数回それぞれで一致している事になります。
一度、formatを59.94fpsに変えて一回再生し、また30fpsに戻して、また5回再生してみました。
![](https://blogimg.goo.ne.jp/user_image/19/e2/13c7fde6923d93ada1653c27c88f561d.jpg?random=8c011959d01c2950edfefe1397aca425)
やはり偶数回と奇数回、それぞれで結果が一致しています。一致しているものの、59.94fpsに変える前の30fpsでのテスト時の結果とは違うものになっています。
これはどう考えればいいんですかね。
あるいはこのシーンでは再現しなかったのですけど、formatの値が59.94fpsだと安定せず、それを30fpsにしたら安定した、という事もありました(パラメータをいじらなければ、再生の度に結果が変わる、という事が皆無という状況)。この安定した状態が理想なんですけど、なんなんでしょうかね。
バグなのか、どこか設定がおかしいのか…。
追記>
コメント ( 2 )|Trackback ( )
・