
- 作者: BATA,まつだす
- 出版社/メーカー: 翔泳社
- 発売日: 2016/01/23
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
序文
『Unity5ゲーム開発レシピ』19日目。
なんだかんだで長期連載になってきましたね。
1ヶ月で終わるでしょうか。
進捗
- Part02 応用編
- Chapter01 キャラクターを制御する
(学習時間:1.5時間)
コード実装部分
\Chapter1\PART02_CHAPTER01\004\before\dungeon\assets\Scripts\AdjustDirection.cs
using UnityEngine; using System.Collections; public class AdjustDirection : MonoBehaviour { public float maxDistance = 3f; public float maxAngle = 45f; void Start () { } void Update () { // Scene上でキャラクター前方に緑の線を描く Debug.DrawRay(transform.position, transform.forward * maxDistance, Color.green); // Jumpキーが押されたら if (Input.GetButtonDown("Jump")) { // キャラクター前方に向かってRayを飛ばす Ray ray = new Ray (transform.position, transform.forward); RaycastHit hit = new RaycastHit (); // maxDistance内でrayがhitしたら if (Physics.Raycast (ray, out hit, maxDistance)) { // hit先のオブジェクトの中心の位置情報を取得する Vector3 target = hit.collider.transform.position; // Y軸(高さ)情報をプレイヤー位置に合わせる target.y = transform.position.y; // hit先のオブジェクトがmaxAngle以内にあれば if (Vector3.Angle (transform.forward, target - transform.position) < maxAngle) { // hit先のオブジェクトのほうを向く Debug.DrawRay(transform.position, transform.forward * maxDistance, Color.red, 1f); transform.LookAt (target); } } } } }
実行結果
よくわからない
感想
やったこと。
- キャラクターが認識したオブジェクトの中心方向を自動的に向く仕組みの実装
- 移動する方向へ滑らかに回転する仕組みの実装
- あえて不自然なゲーム的な動きを実装する仕組み
最後のやつあんまり使いみちがわかんない。
間にスワイプを感知する仕組みを実装するというすごく実践的なTipsもあったんですが、SDK関連の設定がいまだに詰まっているので保留しています。(+_+)
いろいろ不具合出てきてるので、バックアップとって一旦PCリセットしたいんだけど、Linuxの再設定を自分でできる気がしない。困った。
カロリーメイトください。
BGM
王者の休日 / KREVA
www.youtube.com