Unityの基本的なことのメモ

単なるメモです。

最終更新 : 2023/04/27


Tutorial

Unity Learn

公式のtutorial


https://learn.unity.com/

Unity 初心者向けチュートリアル集(Language Japanese)(2019)
2021に飛べるようにもなっている。

https://learn.unity.com/course/unity-tutorials-for-beginners-jp?uv=2019.4



基本用語



プロジェクトとシーン

Unity では、ゲーム全体の構成を「プロジェクト」、ゲームの各部を構成する独立した各場面や各ステージを「シーン」と呼びます。 商用になるような手の込んだゲームはたくさんのシーンを含み、ときには複数のシーンを 1 度に組み合わせることもあります。

https://learn.unity.com/tutorial/create-project-visual-scripting-jp?language=ja&projectId=62c7ff31edbc2a0dd74d11ce#62c804dcedbc2a1545066a33


Project Settings

Edit > Project Settings

Tags and Layers

カスタムのtagを追加することができる。



Visual Scripting

まずは GameController グラフから Text へアクセスする方法を考えます。今回もエディタで Text への参照を設定する方法を利用します。
ヒエラルキービューの GameController を選択し、インスペクタビューを確認してください。Variable に値を追加します。NameScoreLabel を入力して「+」ボタンをクリックします。
そして、Type ですが、TextMeshPro がありません。これはデフォルトで Visual Scripting は参照しないようになっています。今回は参照が必要なので設定を変更します。

https://learn.unity.com/tutorial/show-item-count-visual-scripting-jp?uv=2021.2&projectId=62c7ff31edbc2a0dd74d11ce#

Project Settings > Visual Scripting > Node Library > 下の方にある+ボタン

Unity.TextMeshProと入力 > Regenerate Node


Variablesのところに出るようになる。
TextMeshProGUI





Layout

右上よりLayoutをデフォルトor カスタムで選べる。


基本的なウィンドウの名前。
2 by 3の時のLayoutの例

https://learn.unity.com/tutorial/how-to-use-interface-visual-scripting-jp?uv=2021.2&projectId=62c7ff31edbc2a0dd74d11ce#62c806d9edbc2a1951a1874b

1. シーン(Scene)ビュー
シーンビューには製作中のゲーム世界(シーン)が表示され、自由な位置・角度から眺めることができます。
2. ゲーム(Game)ビュー
ゲームビューはゲーム画面です。 ゲームプレイヤーは基本的にこの画面を見ながらゲームをプレイします。 またUI等の操作はこの画面で行います。
3. インスペクター(Inspector)ビュー
シーンの中で選択肢中のオブジェクトが持つ属性を表示・編集するためのビューです。 属性には座標やメッシュといった外見上のものから、衝突判定や物理制御に関するパラメーターなどもあり、その他ユーザー定義のものもここに表示されます。
4. ヒエラルキー(Hierarchy)ビュー
シーン内に存在するオブジェクトの一覧が表示されます。 編集中のシーン内でオブジェクトをコピー/ペーストしたり、適切な名前をつけて整理することもできます。
5. プロジェクト(Project)ブラウザ
製作中のプロジェクト(ゲーム全体)に含まれるシーン、スクリプト、グラフィックやサウンドなどのデータ、その他のリソースがファイル単位で表示されます。ここに出来合いのスクリプトセット、アートアセット、シェーダーなどを「パッケージ」単位でインポートすることもできます。

https://learn.unity.com/tutorial/how-to-use-interface-visual-scripting-jp?uv=2021.2&projectId=62c7ff31edbc2a0dd74d11ce#62c806d9edbc2a1951a1874b


Scene View



keyboard shortcut

File > New Scene(Ctrl + N) : シーンを作る

マウスホイール:Sceneビューの拡大・縮小
右クリックを押しながらドラッグ:視点を回転
真ん中クリックを押しながらドラッグ:Sceneビューの平行移動
オブジェクトをダブルクリック:指定のオブジェクトにフォーカス


Tool


Playerゲームオブジェクトを選択しても移動ギズモ(ギズモ:Unityのゲームビューで表示される矢印や円、太陽マークやカメラマークの総称)が表示されない場合は、シーンビューの左上のアイコンをクリックして「Pivot」を選択してください。

https://learn.unity.com/tutorial/move-camera-visual-scripting-jp?uv=2021.2&projectId=62c7ff31edbc2a0dd74d11ce#


https://learn.unity.com/tutorial/move-camera-visual-scripting-jp?uv=2021.2&projectId=62c7ff31edbc2a0dd74d11ce#


Move Tool : オブジェクトの移動

move toolでVを押し続けるとギズモの真ん中の形が変わって、そこをドラッグアンドドロップすると他のモデルにスナップするように動く



Scale Tool : オブジェクトのScaleの変更

操作ツール

Rotation Tool
Ctrl を押しながら操作すると15°ずつ変化する。

Game View

出力されるゲーム画面。
ゲームの操作、UIの操作等はこの画面。


左から三番目より、game画面のアス比を指定できる。

Game tab 

上の再生ボタンを押すと、ゲームが再生される。

上の

※Unity上で編集作業を行う時は必ず、ゲームの再生が終了している状態で行うようにして下さい。ゲームの再生中に行った編集は再生が終わると再生前の状態に戻ってしまいます。

https://learn.unity.com/tutorial/add-player-visual-scripting-jp?uv=2021.2&projectId=62c7ff31edbc2a0dd74d11ce#




Inspector View

選択しているオブジェクトのインスペクター
Transform等々変えれる。


一番下 Add Componentより、Componentの追加ができる。

PhysicsRigidbodyとか選択すれば、物理演算を簡単に追加できる。



Tag

tagをobjectに指定することができる。


Colidder

接触判定周りの設定にできる。
is Triggerで接触判定をtriggerに設定するか否かを選べる。
Triggerがすり抜け。Collisionが接触




Hierarchy View

シーン内のオブジェクトのレイヤーパネルみたいな感じ。ゲームオブジェクトと呼ばれるものが追加される。

+より作成できる。


GameObject(ゲームオブジェクト)

Unity では、シーン内に配置される全ての要素を「GameObject(ゲームオブジェクト)」と呼びます。 ゲームオブジェクトには、目に見える 3D メッシュ、ライト(照明)、物理オブジェクト、 あるいは目に見えないサウンド、トリガーなど様々な形がありますが、Unity によって挙動が管理され、 任意にスクリプトを割り当てて制御できる物という共通点があります。

https://learn.unity.com/tutorial/create-ground-visual-scripting-jp?uv=2021.2&projectId=62c7ff31edbc2a0dd74d11ce#62c80b70edbc2a1951a187f4



ゲームオブジェクトの名前の変更

表示中の矢印を操作し、パネルの位置を調整します。この作業で4枚のパネルで地面を構築します。また名称も変更しておきましょう。パネルを Ground1、以降 Ground2Ground3Ground4 といった形にオブジェクト名を変更します。なお、オブジェクト名を変更するには、インスペクタービューの上にある名称を変更する、ヒエラルキービューでゲームオブジェクトをクリック(マウスの左ボタンを押して手を放す)して、カーソルを動かさずにその状態を約1秒キープすることで名前を変更できます。あるいはヒエラルキービューで選択状態にした後、F2キーを押すことで変更できます。

https://learn.unity.com/tutorial/create-ground-visual-scripting-jp?uv=2021.2&projectId=62c7ff31edbc2a0dd74d11ce#


Create Emptyで
空のゲームオブジェクトを作れて、
内包する形でレイヤーを保つことができて、グループ的に使うことも可能。

Create Empty


子オブジェクトは親オブジェクトの相対座標で保持しているため、親の座標が0,0,0の扱いになる。

Unity のオブジェクトは親オブジェクトとの相対座標で保持しているため、Player の子に Main Camera を配置すれば、Player が動作した際にカメラも追随する事になります。早速やってみましょう。



Project browser




Package Manager

Window > Package Manager


左上PackageメニューよりPackageのsortできる。



Visual Scripting

Unity 2021.2からVisual Scriptingパッケージはデフォルトでインストールされるようになっています。

https://learn.unity.com/tutorial/confirm-visual-scripting-package-visual-scripting-jp?uv=2021.2&projectId=62c7ff31edbc2a0dd74d11ce#


Visual Scripting

add componentより、Script Machineを検索して追加する。
Script Machine > Newを押す。

Save Graphのダイアログが出てきて保存先を選ぶ。*****.assetファイルが追加される
何も機能を持ってないグラフが出来上がる。

Edit Garphより、エディターが出現する。
初回起動時だけ、Preferenceの変更の許可が効かれる。Change nowを押せばおk
開いたら、windowが最初小さいので左右に伸ばすとノードのエディターが見えてくる。
右クリでnodeの追加ができる。

on start evenet node, on update event nodeの二つが存在している。

Event nodeは定義すると、接続された後続のノードを自動的に特定のタイミングで呼び出す。

on Start Eventノードは起動時に一回呼びだす。
On Update Evenetノードは毎フレーム更新時に呼びだす。
On Fixed Update Event nodeは物理演算でキャラクターが動くたびに呼び出す。
On Trigger Enter Event 判定のみのトリガーとの接触判定
on Collision Enter Event 物理的な反射を持つColliderとの接触判定。

Input.GetAxis nodeでは、キーボードのArrowキーの入力を受け付ける。
Horizontal, VerticalをAxisNameに入れると、縦横反応する。

Rigidbody.AddForce(X,Y,Z)でRigidbodyに対してAddForceできる。




Variablesを使うと、inspectorで直感的に値の変更ができる。

とりあえず、適当な変数名とtypeを決める
それをnode graphになげる。

ドラッグアンドドロップ

任意の部分につなぐと、inspector上からnodeの値を動かせるようになる。



VariableにはGameObjectをtypeに選択することができて、任意のgame objectのパラメーターを参照することもできる。

Transform:SetPositon node
Transform:GetPosttion nodeを使うと、オブジェクトのtransformをget,setできる。




Graph editorの中だけでの変数を作りたい場合は左側のGraphより同様に変数を作ると追加できる。


SetGraphVariable, GetGraphVariableを使うと、今作った変数に値をset, getできる。


Component.CompareTagでオブジェクトなどが持っているtagと比較してtrue / falseを受けれる。

GameObject.Destory nodeでオブジェクトを削除することができる。

This nodeで自身のオブジェクトを返す。


Game Object Find Game Objects with tagsで任意のtagのついたobjectをfindする。


Count Itemsで配列の個数を取得
Integer:To Stringでintをstringに変換



Material File | .mat

Project Browserにて Create > Material

create > Material


inspectorにmaterialの設定は現れる。

Albedoの左側の◎を押すとtextureを設定できる。



Materialを諸々設定したら、Project BrowserのmaterialをHierarchy Viewのオブジェクトに対して、ドラッグアンドドロップするとmaterialを適用できる。


prefab | .prefab

汎用性のあるオブジェクトを保存して、いろんなプロジェクトに使いまわすことができる。


hierarchyにある任意のゲームオブジェクトをProject browserに投げると
****.prefabとして保存される。

Inspectorにもprefab Assetとして表示される。

Scene内にドラッグアンドドロップすることで配置することができる。


prefabで沢山追加したものに複数のInspectorの調整を行った際に、他の同様のprefabにも同じことを処理させたい場合、設定しているprefabよりoverridesからApply Allにて全部に適用させることができる。


https://learn.unity.com/tutorial/add-item-visual-scripting-jp?uv=2021.2&projectId=62c7ff31edbc2a0dd74d11ce#62de507dedbc2a165354e8e4

この記事が気に入ったらサポートをしてみませんか?