Help us understand the problem. What is going on with this article?

Unity2D+NGUIでゲーム作るよ! その0

More than 5 years have passed since last update.

Unityをはじめて3ヶ月たったので習得時につまづいたところや思うところを色々書いていきます(`・ω・´)

0.1 Unityでのゲームの考え方

Unityでゲームを作成する際、以下のように考えるとスムーズに習得できると思います
1.ゲームは複数のSceneで構成される
2.Sceneは複数のGameObjectで構成される
3.GameObjectは複数のComponentで構成される

--

1.ゲームは複数のSceneで構成される

Sceneとは「タイトル画面」「ステージ画面」「ゲームオーバー画面」のことです。
Unityではそれぞれを用途・機能によって独立した画面として扱います。
SceneはUnityでは「*.unity」という拡張子のファイルです。

↓これ
スクリーンショット 2013-12-27 2.58.43.png
 
2.Sceneは複数のGameObjectで構成される

シューティングゲームを例に挙げるとGameObjectとは「自機」「敵機」「自機の出す弾」などです。
GameObjectは独立して移動したり衝突を検知したりすることができます。
Unityでは再利用可能/動的生成可能なGameObjectを「Prefab」と呼びます。
PrefabはUnityでは「*.prefab」という拡張子のファイルです。

↓これ
スクリーンショット 2013-12-27 2.59.38.png

 
3.GameObjectはComponentで構成される

「オブジェクト」は以下の様な様々な機能で構成されます。
・座標の定義(Transform)
・画面への表示(Renderer)
・衝突の検出(Collider)
・音声再生(Audio)
etc..

Unityでは上記のような機能の一つ一つをComponentと呼びます。
GameObjectには複数のComponentを持たせることができます。
また、自分で記述したScript(Javascript,C#,Booで記述)をComponentとして扱うことができます。
(※いくつかのルールに従う必要があります。詳しくは後述)

↓これ
スクリーンショット 2013-12-27 3.00.03.png
 

0.2 MonoBehavior

Unityでゲームをつくろうとし、Scriptを作成すると以下の様なファイルが作成されます。

NewBehaviourScript.cs
using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour
{
    void Start () {
    }

    void Update () {    
    }
}

これはMonoBehaviourを継承したクラスです。
MonoBehaviourを継承したScriptはComponentとしてGameObjectに追加できます。
MonoBehaviourはUnityのコアとなる多くの機能が定義されているので何度もリファレンス読んで理解するのがおすすめです。

https://docs.unity3d.com/Documentation/ScriptReference/MonoBehaviour.html

そしてScriptをComponentとして扱うにはいくつかのUnity独自ルールがあります。
- コンストラクタを書いてはいけない
 (コンストラクタ動作が保証できないため。Awake()もしくはStart()で初期化処理をかく)
- class名とファイル名は同じにする
 (同じにしないとエラー)
- 調整や紐付けが必要なメンバ変数はserializefieldにし、Inspectorで編集可能にする

--
ざっくりはじめての人向け概要と用語説明おわり。
次回(その1)は実際にUnityでゲームの枠組み作成&2D画像表示をやってみるところ

keidroid
主にスマホ周り(Kotlin/Swift/Unity/Flutter)の記事を書きます。 YouTubeにはんぶん移行中です。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした