三流作家の雑記帳

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

1日15分でマスターするUnityトレーニング:第7回(キャラを移動させる)

前回の講座ではキャラクターを回転させるスクリプトを組みました。
今回はキャラクターを移動させる部分を追加したいと思います。
これで、ゲームっぽいキャラクターの移動が出来るようになります。

まずは、前回作ったスクリプトを開いて下さい。
下記の部分があると思いますが、そこにmoveSpeed変数を追加します。

float rotateSpeed = 2F; // 回転する速度
float moveSpeed = 10F; //移動する速度

10Fの部分が移動速度になりますので、自由に変えて下さいね。

次にtransform.Rotateの下にtransform.Translateを追加します。

transform.Rotate(0, h * rotateSpeed, 0); // 左右のキー入力でキャラクタを旋回する処理
transform.Translate(0, 0, v * moveSpeed );// 上下のキー入力でキャラクタを移動する処理

これでキャラクターがWキーで前進、Sキーで後退するはずです。
命令文を説明しますと、

transform.Rotate(x、y、z)・・・()内の値で回転させる
transform.Translate(x、y、z)・・・()内の値で移動させる

となります。
update関数内にかかれているので、毎フレームごとにその数字が足されていき、移動や回転しているように見えるというわけです。
頭が茹だってきましたか? 私もですので、今は深く考えるのは止めておきましょう。
ここではスクリプトを書くというものがどんなものか、体感するくらいで大丈夫だと思います。
ちなみにスクリプトのRotate部分をいじれば、FPSみたいな移動も可能になると思うので、興味のある方は試してみて下さい。
一応スクリプトのSSを貼っておきます。
Unity7-1.png

以上。
……うーむ、プログラムメインだと味気ない内容になってしまいますね。
しかも、このスクリプトは重力計算をしていない為か、移動していると段々キャラクターが傾いておかしくなります。
ご覧の通り、WキーとSキーを押し続けると、スライムが空を飛びますw
Unity7-2.png

私のRPGでの処理を見ると、もっと複雑なことをやっているようです。
それを入れると長くなるので、次回に持ち越しですね。

重力判定が無事に実装出来たら、BlenderでのアニメーションをUnity上で使う説明をしたいと思います。
そこまでいけば、結構面白くなるはず……です。

スムーズに実装する自信はありませんが、RPG側のスクリプトを参考に考えてみます。
それでは。
  1. 2014/02/20(木) 20:19:48|
  2. Unity
  3. | トラックバック:0
  4. | コメント:0
<<アスリートの矜持 | ホーム | クレー射撃は難しい>>

コメント

コメントの投稿


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

トラックバック

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

小説試し読み

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

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

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

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

Blender講座

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

Unity講座

最新記事

広告

月別アーカイブ

カテゴリ

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

検索フォーム

リンク

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