前回はPlayerを動かすところまでやりました。
今回はボールを動かしていきます。
※このプロジェクトは今日からはじめるUnityを参考にして作成しています。
今日からはじめるUnityと一緒にお読みください。
プロジェクトタブでAsset/Scriptsの中に”StartShot”という名前のスクリプトを作成します。
作成したら”start()”の中にコードを記述します。
コードは参考記事をご覧ください。
Ballの正面方向をランダム回転させて毎回同じ方向にボールが動き始めないようにする。
AddForce関数でBallが現在向いている方向に力を500で加えるといったプログラムみたいです。
保存したらBallオブジェクトにアタッチします。
エラーの詳細はコンソールタブを見れば確認できます。
RigidBodyコンポーネントはBallオブジェクトに含まれていないのでエラーが出ているそうです。
エラーもわかりやすく表示してくれますね。
RigidBodyコンポーネントは”Add Component”をクリックして”Physics”の中にあります。
実行してみるとボールが動きましたが、ブロック崩しっぽくない動き方。。。
摩擦があるからですね(‘◇’)ゞ
Projectタブで新規Physic Materialを作成します。
名前は”NoFriction”にします。
Physic Materialは日本語でいうと物体の物理特性マテリアルだそうです。
ではPhysic Materialを設定します。
- Dynamic Friction : 動摩擦,オブジェクトが動いているときに使用される摩擦
- Static Friction : 静止摩擦,オブジェクトが静止しているときに仕様される摩擦
- Bounciness : どのくらい弾性があるか.この値を適度に上げるとゴムみたいなオブジェクトになります
- Friction Combine : 衝突するオブジェクト間の摩擦をどう処理するか
- Bounce Combine : 衝突するオブジェクト間の跳ね返し度合いをどう処理するか
おもしろい!!
これを”Ball”のSphere ColliderコンポーネントのMaterialに追加します。
実行!!
あれ。。。ボールがどっか消えてくんだけど。。え。。なんで。。
バグ!?でもUnity再起動しても直らない!なんで。。
確認してみると”Ball”のSphere Colliderコンポーネントの”Is Trigger”にチェックがはいっていました。
このチェックを外すと無事ボールが動きました!!
チェック入れた記憶ないんだけどな??初期でチェックがはいってるのかな??
Unityの教科書 Unity2019完全対応版 2D&3Dスマートフォンゲーム入門講座 (Entertainment&IDEA) 新品価格 |
とりあえず動いてよかった!
というわけでまた次回(‘ω’)ノ
Leave a Comment