LoginSignup
41
41

More than 5 years have passed since last update.

Unityで磁力をシミュレートする。

Last updated at Posted at 2016-10-06

はじめに

Unityでは、標準機能で重力や光などの物理現象はシミュレートできますが、磁力のシミュレートは出来ません。それを可能にする無料アセットがMagnetodynamicsです。

image

作者の方は物理がご専門のようで、マニュアルにもかなり本格的な説明があります。ただ、残念ながら大分古いアセットなので、現行のUnityで使おうとすると一部のシーンでは修正が必要ですが、そのままでも遊べるシーンもあるので、簡単に紹介します。

BallMagnetsTutorialで遊んでみる

とりあえず、一番シンプルなボール型磁石のチュートリアルを見てみましょう。アセットをインポートして(その際、API Updateをするよう指示が出るので、それに従ってください)、BallMagnetsTutorialシーンを開いてください。

そうすると、下のようなNS極のあるボール型磁石が出てきて、それをマウスで移動できます。

image

これに対して、マニュアルの指示に従ってプレハブを追加します。まず、Assets\MagnetodynamicsにあるMagneticDipoleプレハブをBallMagnet-1の下に配置してください。

image

次に、位置合わせのため、BallMagnet-1、MagneticDipoleの双方のTransformのPosition, Rotationを(0,0,0)にしてください。そうすると、二つのオブジェクトの軸がそろうはずです。それができたら、BallMagnet-1を少し上に移動させて、机にめり込んでない位置に置いてください。

次に、ElectromagneticFieldControllerプレハブをシーンに配置してください。これは、BallMagnet-1の下である必要はありません。

image

次に、BallMagnet-1のコピーをたくさん作って、シーンに適当に配置してください。そしてシーンを実行すると、お互いが引っ付くようになります。

Magnet1.gif

おわりに

今回は、簡単にBall magnetについて説明しました。ほかにも、磁力線を表示するチュートリアルなど色々面白いのがありますので、機会があればまた紹介します。

41
41
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
41
41