Unityで磁力をシミュレートする。
はじめに
Unityでは、標準機能で重力や光などの物理現象はシミュレートできますが、磁力のシミュレートは出来ません。それを可能にする無料アセットがMagnetodynamicsです。
作者の方は物理がご専門のようで、マニュアルにもかなり本格的な説明があります。ただ、残念ながら大分古いアセットなので、現行のUnityで使おうとすると一部のシーンでは修正が必要ですが、そのままでも遊べるシーンもあるので、簡単に紹介します。
BallMagnetsTutorialで遊んでみる
とりあえず、一番シンプルなボール型磁石のチュートリアルを見てみましょう。アセットをインポートして(その際、API Updateをするよう指示が出るので、それに従ってください)、BallMagnetsTutorialシーンを開いてください。
そうすると、下のようなNS極のあるボール型磁石が出てきて、それをマウスで移動できます。
これに対して、マニュアルの指示に従ってプレハブを追加します。まず、Assets\MagnetodynamicsにあるMagneticDipoleプレハブをBallMagnet-1の下に配置してください。
次に、位置合わせのため、BallMagnet-1、MagneticDipoleの双方のTransformのPosition, Rotationを(0,0,0)にしてください。そうすると、二つのオブジェクトの軸がそろうはずです。それができたら、BallMagnet-1を少し上に移動させて、机にめり込んでない位置に置いてください。
次に、ElectromagneticFieldControllerプレハブをシーンに配置してください。これは、BallMagnet-1の下である必要はありません。
次に、BallMagnet-1のコピーをたくさん作って、シーンに適当に配置してください。そしてシーンを実行すると、お互いが引っ付くようになります。
おわりに
今回は、簡単にBall magnetについて説明しました。ほかにも、磁力線を表示するチュートリアルなど色々面白いのがありますので、機会があればまた紹介します。
Author And Source
この問題について(Unityで磁力をシミュレートする。), 我々は、より多くの情報をここで見つけました https://qiita.com/yanosen_jp/items/c79ae51cdfb657349274著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .