主にプログラミングに関して。Python, .NET Framework(C#), JavaScript, その他いくらか。
記事にあるサンプルやコードは要検証。使用に際しては責任を負いかねます

スポンサーサイト

                
tags:
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Unity: TPS視点を導入してみる

                
tags: C# Unity
http://unity3d.com/learn/tutorials/projects/stealth
Unityのサンプルプロジェクトとして、ステルスゲームがある。それなりの容量のステルスゲームを作りたいと考えていたのでそのサンプルプロジェクトを勉強がてら触ってみたのだけど、視点が上空からの追尾。これじゃ探索するという感覚が薄いので、背後からの視点を追加してみた。
13102201.jpg

      ↓

13102100.jpg



背後からの視点の導入にあたってカメラを主人公のやや後方から追尾させる必要があった。主人公のやや『後方』にカメラを置く。そのために『後方』を表すベクトル値を取得せにゃいけないのだけど、どうやって取得するか。
最初は三角関数を使って、主人公オブジェクトの向いている方向から算出した。下記のように。
var angle = Mathf.Deg2Rad * transform.eulerAngles.y;
var x = -viewDistance * Mathf.Sin(angle);
var z = -viewDistance * Mathf.Cos(angle);
var vec = new Vector3(x, viewHeight, z);


知ってる知識を使って目的を達する処理をとりあえず書いてみたけど、このぐらいならメソッドなりプロパティで使えるようなものが用意されているか……と考えてリファレンスに目をとおしたところやっぱりあった。
var vec = - viewDistance * player.forward;
vec.y = viewHeight;


やっぱりリファレンスにざっと目をとおしてどんなクラスがあるか一通り知っておいた方がコーディングが楽になりそうだ。
            

コメントの投稿

非公開コメント

プロフィール

Matoba

Author:Matoba

最新記事
リンク
作ったものなど
月別アーカイブ
カテゴリ
タグリスト

検索フォーム
Amazon
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。