Unityを使ったゲーム開発記録

Unityのゲーム開発などを中心に投稿していきます。何か参考になる様な記事ではなく自分用の備忘録になる為、生暖かい目で見て下さい。

Unityでのゲーム開発 〜キャラクターの配置・カメラ設定〜

キャラクターの設置

当記事から新しいワードや重要な項目は記事最後に説明を載せます。



まずはキャラクターを配置する為に下準備をしていきます。
[Hierarchy]にカーソルを持っていきマウスの右クリックでメニュー表示をさせます。
[3D Object]⇨[Plane]で平面をゲームシーン内に設置します。

*Planeの設置する理由としてはキャラクターを配置しても地面がないとずっと下に落ちてしまう為です。

f:id:mochisakucoco:20210218170119p:plain

[Inspector]内の[Transform]とゆう項目があると思います。
色々な場面で出てくる概念な為、把握しておくと便利だと思います。
TransformのPositionの値を(X:0 Y:0 Z:0) Scaleの値を(X:100 Y:1 Z:100)に変更します。

実際にシーン内にキャラクター設置

f:id:mochisakucoco:20210218171459g:plain

上記の通り、前回Asset Storeからダウンロードした[Invector-3rdPersonController_LITE]⇨[Prefabs]の順にクリックしてPrefabsの中の[ThirdPersonController_LITE]を上にあるシーン内にドラック&ドロップをするかHierarchyにドラック&ドロップするとキャラクターが反映されます。
反映されたキャラクターのTransformのPosition値を(X:0 Y:0 Z:0)に変更するのも忘れずに。


・・・簡単ですね٩( 'ω' )و

こんな簡単にキャラクターを配置できるのはUnityのシステム自体もそうですが、[Asset Store]やアドビのサービスの[Mixamo]などクリエイターさんが無料で使用出来る仕組みを組んでくれているお陰です!ありがたいですね(・∀・)



f:id:mochisakucoco:20210220224054p:plain
今回の使用しているAssetには、[Script]、[Animator]、[Rigitbody]、[Capusule Collider]が標準で付いてます。
これだけでもキャラクターを動かす事ができます。今回はセットされている[Script]、[Animator]使用しない予定なので[V Comment]〜[V Third Person Input]まで削除してください。[︙]を押してRemove Componentをクリックすると削除されます。


*他の項目でも間違えってアタッチしてしまったスクリプトなどはこの方法で削除可能です。
*今回のキャラクターにはPrefab化されている為、削除してもグレーの文字で残ります。新しく作成した物などに関しては綺麗に消えます。


*補足としてEdit Scriptを押すとコード内容の確認もできます。今回のスクリプトはTPSの内容が多いので参考にする為、グレーのまま残しておいてもいいと思います。


*完全に削除する方法は⇩
f:id:mochisakucoco:20210221011241p:plain

文字がグレーの時に[︙]を押してRemove Componentをクリックすると[Apply to Prefab "~~"]の項目を選択すると完全に削除可能です。
*Apply(適用するとゆう意味)なので、Prefabにも適用する事になる為DLしたPrefab自体に変更を加える事になります。



カメラの取り付け

f:id:mochisakucoco:20210221014113p:plain

カメラを追従させる方法として簡単な方法としてキャラクターに取り付ける方法を紹介します。(スクリプトなどを利用する方法も載せていければと思っています。)

今回は[Main Camera]のトランスフォームポジションを変更します。
画像の通り、X軸は横方向、Y軸は上下方向、Z軸は奥行きの位置を変更できます。

TPS視点になる為少し後方を追従する様にしたい為、(X0.5 Y1.75 Z-1.7)に変更します。

キャラクターの位置を(X:0 Y:0 Z:0)に変更しているはずなので、X軸を0.5とすると右方向に少し動き、Y軸を1.75とすると上方向に動き、Z軸を-1.7としているのでキャラクターより手前側にカメラが移動する事になります。
*数値の前にー(マイナス)を入れれば逆方向に動きます。今回はキャラクターの位置をわかりやすく0にしている為数値をいじりましたが本来はシーン上で位置を確認しながらの変更がの望ましいです。


上記の設定が終わったら、メインカメラをキャラクターの親子関係にさせる為にドラック&ドロップするだけです。
!注)動きの確認が取れたら階層から戻しておいて下さい、次回以降は別の階層としての内容となる為


今回は以上で次回からはキャラクターを動かすスクリプトなどを変更したいと思います。

Unity用語

Hierarchy・・・Hierarchy (ヒエラルキー) ウィンドウには現在のシーンにおける「オブジェクト」のリストが表示されます。ゲームを構成するオブジェクトはシーンの中で加えたり、削除したりするので、Hierarchy ウィンドウでも、表示されたり、消えたりします。

Inspector・・・Unityのプロジェクトは、スクリプトサウンド、メッシュ、その他のグラフィカルな要素 (ライトなど) を含む複数のゲームオブジェクトから構成されています。Inspector ウィンドウ (「インスペクター」とも呼ばれます) は、現在選択されているゲームオブジェクトに関する詳細な情報を、ゲームオブジェクトにアタッチされた コンポーネント やそのプロパティーの情報も合わせて表示します。また、Inspector ウィンドウではシーンのゲームオブジェクトの機能を変更することができます。

Transform・・・TransformはゲームオブジェクトのPosition(位置)・Rotation(回転)・Scale(スケール[拡大・縮小])と親子関係を保持するので非常に重要です。ゲームオブジェクトは常時Transformコンポーネントをアタッチしているため、Transform コンポーネントをはずす事はできず、1つのゲームオブジェクトに対して1つしか存在できません。
*Transformは3次元空間(3D)であれば X ・ Y ・ Z 軸、2次元空間(2D)であれば X ・ Y 軸を Unity 上で操作できます。

Prefab・・・プレハブはテンプレートとして使われる、シーン内に新しいオブジェクトインスタンスを作成することができる。自分で編集作成をしたオブジェクトは定期的に保存をしていつでも使える様にテンプレート化をする事をオススメします。

Remove Component・・・ゲームオブジェクトにアタッチしているコンポ―ネントがもう必要でない場合に利用するコマンドです。

Apply・・・Apply(アプライ)適用するとゆう意味、変更加えた場合にアプライしないと反映されない場合もある為注意が必要。