アフィリエイト広告を利用しています

現在ははてなブログで投稿しています!

広告

posted by fanblog

2017年06月28日

【unity5】カメラ移動・回転させる方法

はじめに

さて、unity5を使ってカメラアングルを変えたり、回転させる方法を紹介します。
今回からはARPG製作に入ります。



ただ、完全にARPGを作っていても面白くないのでたまに関係ない記事出します。
まあ、カテゴリーは別にするのでゲーム開発に支障はないと思いますが。



プログラミングが分からない、という方はこちらからからご覧下さい。
unityでのプログラミング基礎知識 1



さてさて、
ARPGはアクションロールプレイングゲームの略、というのを
どこかで話した気がします。
「アクション」と付いているからには操作性は大切ですよね。

と言いつつも、そんなガチでは作りません。
そんな事していたら、このシリーズとても長くなってしまいます(笑)

大体、10〜20記事程度でやっていきたいと思います。
プログラミングの基礎を交えながら、という感じですねー。

まぁ所詮、高校生 + 独学の組み合わせですので、
改善点があればコメントでご指摘お願いしますm(_ _)m





取り敢えず今回は、実際に動かすだけにしたいと思います。
今週はテストでして、疲れてます......。


まだ3日目が終わっただけです......。
あと2日...土曜日もテストなんですよねー......鬱です。





取り敢えず、第1回!
カメラのコントロール、スタート!




【スポンサードリンク】



カメラコントローラー

まず、一旦ソースコード(プログラム丸ごと)を載せます。
これをカメラに取り付けてtargetをドラック&ドロップだけで動きますよ(笑)





それでは、ぽん。

//使うシステムの宣言(?)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//クラス
public class CameraController : MonoBehaviour {

 public Transform target;
 public float distance = 12.0f;
 public float xSpeed = 250.0f;
 public float ySpeed = 120.0f;
 public float yMinLimit = -45f;
 public float yMaxLimit = 85f;
 private float x = 0.0f;
 private float y = 0.0f;

 void Start () {
  var angles = transform.eulerAngles;
  x = angles.y;
  y = angles.x;
 }

 void Update () {
  if (target) {
   x += Input.GetAxis("Mouse X") * xSpeed * 0.02f;
   y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02f;

   y = ClampAngle(y, yMinLimit, yMaxLimit);

   var rotation = Quaternion.Euler(y, x, 0);
   var position = rotation * new Vector3(0.0f, 0.0f, -distance) + target.position;

   transform.rotation = rotation;
   transform.position = position;
   }
 }

 static float ClampAngle (float angle, float min, float max) {
  if (angle < -360) { angle += 360; }
  if (angle > 360) { angle -= 360; }
  return Mathf.Clamp(angle, min, max);
 }
}

以上がソースになります。




これをコピーして、unity画面に戻ります。
「Project」で右クリック>Create>C# Script でスクリプトを作成します。
名前は「CameraController」として下さい。

003.jpg



この「スクリプト」というのに、プログラムを書いていくんです。
という訳で、作ったCameraControllerスクリプトを開いて記述済の文字を全部消し、上のソースコードを貼り付けます。

004.jpg




そしたら、保存してください。
Windowsの場合はCtrl + S で保存できます。



Macは持っていないのでよく分かりませんが......
左上の「ファイル」から保存出来ると思います。

Windowsでもできます。
(いま手元にパソコンが無いので確認できませんが......)







unity側に戻りまして、カメラがグルグルする支点を作りましょう。
ヒエラルキーのウィンドウで右クリック>3D Object>Capsule で作成します。

005.jpg



支点の作成は以上で、次は「Main Camera」を選択してください。
そしたらインスペクタの下の方に「Add Component」というボタンがあると思いますのでそこで「CameraController」と検索します。

006.jpg


出てきたスクリプトをカメラに追加し、スクリプトにtargetというものがあると思います。
そこの右側の空欄にヒエラルキーの「Capsule」をD&D(ドラッグ&ドロップ)します。

007.jpg





あとは、実行です!
上の方にある、「右向き三角1」を押してください。



実行されれば、カメラがカプセルの周りをマウスに合わせて動くと思います!
はい、出来ました!


という訳なので、今回はこの辺で。
解説は、次回に回したいと思います。





あーぁ、明日もテストだ......
ちなみに英語、保健、国語bです......
......頑張ってきます。



それでは皆さん、また次回。





【スポンサードリンク】







投稿コメント
* 気軽にコメントくださいー *

※ ブログに表示されるのは、主の承認が必要なので時間がかかります!
  コメントに気づかない場合もありますので、返信が遅れる場合も...

お名前:

メールアドレス:


ホームページアドレス:

コメント: 必須項目

この記事へのトラックバックURL
https://fanblogs.jp/tb/6417054
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
検索
プロフィール
ピノまっちゃさんの画像
ピノまっちゃ
どうも、ピノまっちゃ(PinoMatcha)です!
ゲーム制作をちょこまか頑張ってる大学生で、プログラミングも独学です。
ですので実力は全然ですが、最善を尽くして頑張っております!

名前の由来はピノの抹茶味が好きだからじゃなくて、ピノと抹茶が好きだからです!


更新 : 不定期!
プロフィール
新着記事
最新のコメント
更新事項
2018/8/2 定期更新への変更の報告に追記しました。

2018/5/10 「続きを読む」機能の使い方がやっと分かりました。

2017/9/14 プレイヤーを動かす:関数の解説の一部を書き直しました。

2017/8/1 【unity5】カメラ移動・回転させる方法に多数の画像を追加しました。
カテゴリーアーカイブ
YouTubeチャンネル
Fantiaリンク
よければ応援お願いします!

Pixivアカウント
現在、調整中です…
×

この広告は30日以上新しい記事の更新がないブログに表示されております。