Havok4/ja

From Second Life Wiki
Jump to navigation Jump to search

このページはプロジェクトにおける情報を提供するだけでなく、Havok4がメインのSecondLifeグリッド全域に展開される前のテスト実施を、確実に支援するであろう役に立つ情報です。

Havok4 ベータ1リリースノートを読みましょう。

歴史ノート:なぜ"Havokにする"ことにこんなにかかったの?

長い間活動していた、あなた方の何人かは、私たちが随分前にHavok1と置き換えることについて話したことを知っているでしょうし、このプロジェクトが完了していないこと、最終的に音沙汰がなくなったことについても知っているでしょう。幾つかの誤ったスタートの後に、ゴールに近づくまではこの作業については話すことをやめるのが一番、もしくは公約にすべきと判断し、ゴールにたどり着けることを信じました。

かなり長い間に、私たちはHavok1をHavok2と置き換える作業をしました。このプロジェクトの後、私たちは実際にHavokをSecond Lifeと一体化させる接続をやり直すであろう方法を理解しました。私たちは、移行する取り組みをとらずに物理エンジンの移行を行なうことを簡易にし、今後も柔軟に効果するコードのレイヤである、抽象化レイヤの定義する必要があるのを理解しました。Havok4は現在のところ、以前のリリースの上に基づいた実装に比べて目標がさらに適切になるため、それゆえに私たちは目標をHavok4に設定しました。このプロジェクトはいくつかの私たちの予測されていたものを著しくより大きくさせましたが、しかしながらよかったのはベータタストの準備ができたことで、メイングリッドにHavok4ベースのSimを届ける前に最後の問題点を修正する用意ができたことです!

Havokって何?

Second Lifeヴァーチャルワールドには動き続けている沢山の運動部分があります。それらの一つは物理エンジンです。物理エンジンは以下のときに"現実世界"の演算を形態する、ソフトウェアの特殊化した部分です。

  • 何かもしくは誰かが押される
  • 何かもしくは誰かが、何かもしくは誰かがと衝突する
  • 何かもしくは誰かが動いていて弾く
  • 何かもしくは誰かを摩擦あるいは動きを減衰させる

Havokは市販の物理エンジンで、SecondLifeはHavok1を用いて作られました。ここ数年間動作しています。

どうすればHavok4物理エンジンテストに参加できますか?

あなたは幾つかの簡単なやり方でHavok4のベータテストに参加できます。

  1. Havok4 ベータテストグリッド上で変わるであろうことと変わらないであろうことを理解するために、"Havok4で何が変わるの?"を読みましょう。
  2. どのようにHavok4でプリムのリンクが作用するか理解するために、"新しいプリムリンク性能のルール"を読みましょう。(改善して、さらなる信頼性を!)
  3. ベータテストの間にみつけた問題について、どのすれば簡単に私たちに伝えることができるかを理解するために、"Issue Tracker"のPublic Issue Trackerにログインしましょう。
  4. ここからHavok4 ベータテストビューアをインストールするためにダウンロードしましょう。

何をテストする?

Havok4上で全てのあなたのコンテンツは働きつづけ、あなたの考えるような多くの物理関連のものを試すことになります。これは短いリストであり、更なるアイデアの完全なリストにつながります。

  • 建設、リンク、リンク解除
  • ビークル
  • 武器
  • "呪文"
  • シールド
  • ビルディングツール
  • 大きくリンクされたプリムセットのRez
  • 単体と複合体のアイテムの作成の試験と、それらをインベントリにいれて、異なるオリエンテーションと異なる場所でrezする
  • 歩いたり、座ったり、飛んだり、走ったりする、他のアバターのモーションがあなたの予期するものですか?
  • スクリプトの動作は予期するものですか?
  • スクリプトを作って編集してみましょう
  • 権限の動作は正確ですか?
  • "物理のクラッシュ"を用いてSimをクラッシュできますか?(これが何を意味するか分かる人は...できる人は"いちかばちかでやってみて"、私たちに教えてください ;)

いくつもの、あなたがHavok4でテストできるものがあります。(あなたのテストを支援するであろう、沢山のものの一覧です。このリストから自由にえりすぐんで、その上であなたがやろうとしてることを成し遂げてください!!

どうすればHavok4テストの"輪の中に"にいれますか?

  1. "Havok4オフィスアワー"に参加しましょう。
  2. "Issue Tracker"のPublic Issue Trackerを用いて、全てのあなたの発見について私たちに教えてください。

"Second Life Service - SVC"を用いてバグの記入を行い、バグ入力時はAFFECTS VERSIONSに"Havok4 Beta"を、COMPONENTSには"Physics"を選ぶことで、確かに私たちがすぐにそれを見ます!

どのようにHavok4はテストされて、ロールアウトしますか?

このプロジェクトはSecond Lifeの根本要素の置き換え、そして、"なんらかを押す、衝突する、あるいは慣性を持たせる"作業を必ずしておくことで分かっているのは、非常に広範囲なタスクであるということです。私たちはすでに多くの内部テストを行い、内部バグフィックスをゆっくりと苦労しながら進めました。私たちは一刻も早く多くの問題を把握する段階的取り組みをとり、Havok4のロールアウトでの問題のリスクを減らすでしょう。

フェイズ1 - 非公開テストグリッド上での内部テスト(完了!)

私たちはこのフェイズをすでに完了し、Havok4が有効なシミュレータ上で色々な道具の動作を行ないました。基本的な関数は確認済みで、同様に既知の物理関連シミュレータのクラッシュは解明されて確認しています。

フェイズ2 - ベータグリッド上でのパブリックベータテスト(完了!)

私たちは多くの参加者とともに、Havok4をまさに活動させるパブリックベータテストを期待します。私たちは物理関連テストの多くのタイプを考慮にいれるテストグリッドを準備しました。

Second Lifeベータプレビューの詳細なリージョンリストはHavok4 ベータプレビューリージョンを参照してください。

注意:パブリックベータビューアはベータグリッドを使うように構成されており、メイングリッドの一部のスナップショットコピーであり、あなたのユーザアカウントのコピーであるでしょう。メイングリッド上でのあなたの"リアルアカウント"にダメージの危険なしで、このグリッドは"なんらかのあなたがやりたいこと"ができます。

フェイズ3 - 選んだ少数のメイングリッドリージョン上でHavok4(完了!)

このフェイズでは私たちは、メイングリッド上の少数のリージョンでHavok4シミュレータを展開する新しいヘットグリッドを用いるでしょう。これはテストフェイズの間は続き、このフェイズのために、誰もが参加者は実際のインベントリの作業はメイングリッドで、ということを覚えておく必要があるでしょう。(自己責任 - 潜在的リスクを理解しないまま、これらHavok4での初期試験で、"no copy及びno transfer"の道具をrezしないでください)

フェイズ4 - 一部のメイングリッドロールアウト(400-500リージョン) ("完了!" :)

このポイントで、私たちはベータテストの間に見つけた未解決問題と、フェイズ3"メイングリッドの隅での小さな展開"と、メイングリッドの一部へのHavok4の展開を決定するでしょう。

フィードバックを集めた後に、全て良好であれば私たちは継続するでしょう...

フェイズ5 - メイングリッド上に完全にHavok4をロールアウト (現在実行中!)

このポイントが全てクリアされる場合、私たちはメイングリッドの残りにHavok4エンジンをロールアウトして、私たちはどこでもHavok4と"暮らす"ことになるでしょう。

新しい経験が日常に

貫通しているオブジェクトの排出と分離

Second Life Havok4 - 缶のディスクの爆発

前回のHavok1エンジンを越える最も大きな改良の一つは、Havok4が貫通しているオブジェクトの分離をサポートすることです。これは、地面にめりこんだ箱が物理に切り替わると上昇して脱出する働きをしようとする試みで、地面上に載るまで地面から分離しようとするでしょう。

前回のエンジンは貫通しているオブジェクトの承認までは取り扱っていませんでした。"手に負えない思考"状態として知られる、深い再帰処理のループとなっていて、スタックするオブジェクトが取り除かれるであろうことで終了させようとして、シミュレータがとてもゆっくりと動く原因となっていました。

新しいエンジンはすばやく簡単にスタックしているオブジェクトを分離します。オブジェクトは圧縮されたばねのように扱われ、深い相互貫通はオブジェクトに素晴らしい突出力をあたえます。相互貫通の解決は制約的な動きに従おうと試みることであり、封じ込めている壁を通り抜けようと爆発することではありませんが、隙間や空間があれば通して拡大しようとするでしょう。

これは、どのようにして相互貫通を解決しようと働くかの極端な例を見せているGoogleビデオです。約10m高の小さい山の中で、約0.5mはっきりとスタックしている、多量のおよそ200のとても大きな円盤で、大きな中空管に封入されたものです。地上にrezされたときに物理へ切り替わり、円盤は上方へと爆発してチューブの上から外にでて、多くの円盤はスタックを解決しようとする反発の力から、300m越えの高さに打ちあがります。スクリプトでの動きやプッシュは円盤に働いていません。この動きは相互貫通の解決からの純粋なものです。


巨大な山のようなスタックオブジェクトからくるシミュレータラグ

箱内部に固められた565の物理球から生成されるシミュレータラグ

新しくなり、改善された新しい物理エンジンは本来のHavok1のエンジンのように頻繁なクラッシュはしなくなるだろうけど、新しいシミュレータが物理オブジェクトに沢山の回数のタッチで引きおこる大変ひどいラグを経験することもあり得るでしょう。

このラグはバグではなく、古いHavok1の"手に負えない思考"状態のようなものでもなく、色々な物理エンジンの動作の限界が引き起こすものです。この似た問題はHavok1に影響されますが、明確ではなく、この状態になるまえに大抵大きなスタックがシミュレータをクラッシュした後でした。

通常、物理オブジェクトが時間単位の危険速度以下にゆっくりと落ちるとき、エンジンは更に能動オブジェクトのCPU時間を収めようと、オブジェクトの物理物理を和らげます。

順番に物理処理の解決のため、オブジェクトは動かない参照物体と接触する必要があります。単一の物理棒が地面に触れると止まりはじめるのはそのためです。

しかし、複数のスタックした物理オブジェクトは、全てを落ち着かせるのは困難で、それゆえに一つ以上のほかのタッチしているオブジェクトは、他のオブジェクトが沈静化するときにわずかながら動くでしょう。

オブジェクトが沈静化される前に再び起こるわずかな動きが、スタックを越えてさざなみのように小さな動きをもたらしていました。この再び起こるフィードバックはオブジェクトが実際に完全な沈静化を不可能にし、絶え間なく積み重ねの間を通して循環しています。この球体の持続する動きと単収縮はブラウン運動の原子の物理的概念と似ています。

このエンジンラグは巻き込まれたオブジェクトのサイズには基づきません。500の群がとても小さくスタックしたオブジェクトは500の大きなスタックしたオブジェクトと同じだけのラグの要因となりえます。

1000のオブジェクトは触れなければラグはない

2000-3400 physical cubes in a sandbox, with no lag:

Havok4シミュレータは全速力で動き、再動衝突は最小限に留められるように、物理オブジェクトの間には十分な空間があるでしょう。

オブジェクトが最小限にお互い触れる間は、シミュレータでラグなしに1000の物理オブジェクトが存在するでしょう。

関連項目