三流作家の雑記帳

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

1日15分でマスターするUnityトレーニング:第8回(重力を加味した移動)

第7回では移動処理を実装しました。
厳密に言うとRigidbodyを割り当てているので、あれも重力の影響を受けているのですが、私の作っているRPGを見ると、別のやり方をしていました。
少し巻き戻る部分も出てきますが、そちらの方が何かと都合がいいので、やり方を変えさせて頂きます。

そのやり方はRigidbodyではなく、Character Controllerを使います。
キャラクターを選んで、Add Component → Pyhisics → Character Controllerを選びます。
以前割り当てていたCapsule ColliderとRigidbodyは不要なので、削除して下さい。
下図のようになればOKですが、赤枠部分は皆さんのキャラクターに応じて変更して下さいね。
Unity8-1.png

Capsule Colliderと同じ感じで、スライムだとこんな風になります。
Unity8-2.png

で、スクリプトは下記のものに差し替えを。
--------------------------------------------------------------------

using UnityEngine;
using System.Collections;

public class Move : MonoBehaviour {

float rotateSpeed = 5F; // 回転する速度
float moveSpeed = 10F; //移動する速度
Vector3 velocity; //移動量
float gravity = 10000F; // ここで重力を決める
private CharacterController character;// キャラクターコントローラーを取得
void Start () {
character = GetComponent();
}

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

float v = Input.GetAxis("Vertical"); // 上下のキー入力を取得
float h = Input.GetAxis("Horizontal"); // 左右のキー入力を取得

if (character.isGrounded) {
transform.Rotate(0, h * rotateSpeed, 0); // 左右のキー入力でキャラクタを旋回する処理
transform.Translate(0, 0, v * moveSpeed );// 上下のキー入力でキャラクタを移動する処理
}
velocity = transform.TransformDirection(velocity); //velocityに座標を設定?
velocity.y -= gravity * Time.deltaTime; //重力を割り当て
character.Move(velocity * Time.deltaTime); //実際に移動させる処理

--------------------------------------------------------------------
分かる範囲でコメントを書いておきましたので、興味のある方は参考にして下さい。
Character Controllerだとcharacter.isGroundedという命令が使えます。
これは地面に設置しているかの判定を行うものです。
つまり、上記スクリプトだと地面に居る時だけ、移動処理が行われることになります。

設定はこれだけです。
動かしてみましょう。
Unity8-3.gif

前みたいにキャラが空を飛んだりとかいうことはなくなりました!
カクついているのはgifの問題ですw
float gravity = で重力量を決められますが、ある程度ないと動きが変になると思います。

今回はここまでですが、これで準備が整いました。
次はいよいよBlenderで作ったモーションを割り当てる処理に入りますので、歩くモーションを作っておいて下さいね。
Blenderでは移動させず、その場で足踏みする感じのやつです。

それでは、次回をお楽しみに。
  1. 2014/02/26(水) 20:11:33|
  2. Unity
  3. | トラックバック:0
  4. | コメント:0
<<エリジウム / マン・オブ・スティール | ホーム | TPP、またもや先送りに>>

コメント

コメントの投稿


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

トラックバック

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

小説試し読み

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

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

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

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

Blender講座

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

Unity講座

最新記事

広告

月別アーカイブ

カテゴリ

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

検索フォーム

リンク

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