三流作家の雑記帳

三流作家、葉山洋三が日々感じたことを記すブログ

1日15分でマスターするUnityトレーニング:第17回(物理演算で動かす)

先日告知しましたが、サンプルゲームの方向性を変更することにします。
単純なピンボールゲームにするか悩みましたが、折角ですので物理演算を使った衝突ゲーム?を作ることにしました。
大砲を飛ばして壁を壊したりするFLASHゲームなら知っている方も居られると思いますが、あれの3D版みたいなのにしようかと。

まずは今までやってきた移動ではなく、物理演算の力を加えて移動させるやり方をご紹介したいと思います。

スライム(皆さんのメインキャラ)の設定を変更する必要があります。
下図の赤線を追加しました。
Unity17-1.png

同じようにぶつかる相手の設定も変更します。
まだ手抜きのビルのままですが、こんな感じに。
形が丸い場合はBoxではなくCapsuleとかの方がいいと思います。
Unity17-2.png


簡単ですが、スクリプトを書いてみました。
--------------------------------------------------------------------------

using UnityEngine;
using System.Collections;

public class Move : MonoBehaviour {

int move_power = 0;
int jump_flg = 0;

void Start () {}

// Updateは毎フレーム呼ばれる関数
void Update () {

if(jump_flg == 0){
if (Input.GetKeyDown(KeyCode.Space)){
move_power = 0;
}

if (Input.GetKey(KeyCode.Space)){
move_power+=2;
if(move_power == 20){
move_power = 20;
}
}

if (Input.GetKeyUp(KeyCode.Space)){
rigidbody.AddForce(move_power*10.0f,move_power*5.0f,0.0f, ForceMode.Impulse);
jump_flg = 1;
}
}
}
}

--------------------------------------------------------------------------
解説をします。
物理演算を行っている箇所は、
rigidbody.AddForce(move_power*10.0f,move_power*5.0f,0.0f, ForceMode.Impulse);
です。
()内はx,y,zの力加減の指定,力の加え方という指定形式になります。
他は何となく想像がつくかもしれませんが、簡単に説明を。
Input.GetKeyDown(KeyCode.Space))でマウスが押された瞬間に値の初期化をします。
if (Input.GetKey(KeyCode.Space))でマウスが押されている間、move_powerを2ずつ溜めます。
手を離すか、powerが20まで溜まったら、if (Input.GetKeyUp(KeyCode.Space))で実際に動かす、という感じです。
jump_flg = 1は空中で同じ操作を行わせない為のものです。
これなら1回こっきりになりますね。

テストしてみましょう。
スペースを押し続けると……。
unity17-3.gif

「スライムはビルを吹き飛ばした!」

……なかなかシュールな映像ですが、成功です。
大砲とかを作ってその中にスライムを配置して、WSADキーで大砲の角度修正を行う。
砦みたいなのを作り、倒したら駄目なやつを配置、これでゲームになりそうですね。

1本完成すれば自信も付きますし、応用も利くはず。
しばらくはこれを完成させる方向で講座を進めたいと思います。
ハイレベルな人は、今までの移動とかを組み込んで独自のゲームにチャレンジしてみて下さいね。

それでは。
  1. 2014/04/19(土) 09:56:56|
  2. Unity
  3. | トラックバック:0
  4. | コメント:0
<<第74回 皐月賞 | ホーム | Diablo3が止められない>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://8ayama.blog.fc2.com/tb.php/433-65536214
この記事にトラックバックする(FC2ブログユーザー)

小説試し読み

販売している小説の冒頭部分です。PDFが開きます。

アルとフィルの大冒険 ~魔法の迷宮~
天賦の才

ご購入はこちらからどうぞ

アルとフィルの大冒険 ~魔法の迷宮~
天賦の才

Blender講座

選択すると、その記事へジャンプ出来ます。

Unity講座

最新記事

広告

月別アーカイブ

カテゴリ

未分類 (0)
雑記 (168)
小説 (29)
時事 (57)
ゲーム (71)
Blender (92)
競馬 (73)
映画 (34)
車/バイク (289)
狩猟/射撃 (90)
Unity (72)

検索フォーム

リンク

このブログをリンクに追加する