1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

初心者でもできる!Unityで3Dゲームを作る手順とポイントまとめ

Posted at

「3Dゲームって難しそう…」と思っていたけど、実際にUnityを触ってみたら思っていたよりスムーズに進められました。
この記事では、わたしが実際に3Dゲームを作ったときの手順と、つまづいたポイント・気づいたコツをまとめます。
初心者でも「とりあえず動いた!」が体験できるように、最初の1本を作る流れをリアルに紹介します。

1. Unityで3Dゲームを作る前に知っておきたいこと

Unityは無料で始められる3Dゲーム開発エンジンです。
わたしも最初は「なんで無料なの?」と思いましたが、個人利用や年商が一定以下の範囲なら無料で使えます(Personalプラン)。
まず最初に理解しておきたいのは、Unityで扱う要素がいくつかの「ビュー(画面)」に分かれているということ。

  • Sceneビュー:オブジェクトを配置する作業場。
  • Gameビュー:実際のプレイ画面。
  • Hierarchyビュー:シーンにあるオブジェクトの一覧。
  • Projectビュー:素材データのフォルダ一覧。
  • Inspectorビュー:オブジェクトの詳細設定。

最初は英語表記に戸惑うかもしれませんが、これらの構造を理解すると一気に作業が楽になります。
たとえば「Hierarchy」は“ヒエラルキー=階層”の意味で、ここに並ぶオブジェクトがゲーム内に存在するものすべて。
Sceneで配置して、Inspectorで設定する——この流れを覚えるだけでもグッと前進です。

2. 新規プロジェクトを作って3D環境を設定しよう

Unity Hubを開いたら、「New Project」→「3D Core」を選びます。
名前は何でもOKですが、わたしは「MyFirst3DGame」としました。
保存先を選んでCreateすると数分後に真っ白な3D空間が現れます。

まずはこの中に「地面」と「プレイヤー」を置きましょう。
上のメニューから「GameObject」→「3D Object」→「Plane」を選ぶと、広い平面(地面)が出現します。
次に「3D Object」→「Cube」でプレイヤーの箱を作成。
見た目はシンプルですが、これだけで“世界”が見えてくるはずです。

プレイヤーを動かしてみる

3Dゲーム制作の最初の壁が「動かす」こと。
ここではC#スクリプトを1つ書くだけで動かせます。

using UnityEngine;

public class PlayerMove : MonoBehaviour
{
void Update()
{
float x = Input.GetAxis("Horizontal");
float z = Input.GetAxis("Vertical");
transform.Translate(new Vector3(x, 0, z) * Time.deltaTime * 5f);
}
}

Cubeにこのスクリプトをアタッチすると、WASDキーで動くようになります。
最初に「動いた!」瞬間、テンション上がりますよね。
わたしもここで一気にハマりました。

3. カメラとライトで「ゲームらしさ」を出す

3Dゲームは光とカメラの設定で雰囲気がガラッと変わります。
最初のデフォルトカメラでも動きますが、プレイヤー追従型にすると一気に“っぽく”なります。

using UnityEngine;

public class FollowCamera : MonoBehaviour
{
public Transform target;
void LateUpdate()
{
transform.position = target.position + new Vector3(0, 3, -6);
transform.LookAt(target);
}
}

このスクリプトをCameraに付けて、targetにプレイヤーをドラッグすればOK。
ライトも「Directional Light」のRotationを少し斜めにして影を出すだけで立体感がアップします。

4. ゲームっぽい要素を追加してみる

せっかく動くようになったので、当たり判定とスコアを足して“ゲーム”にしていきます。
例えば「アイテムを拾う」とか「障害物に当たる」といった仕組みです。

アイテム側(Sphereなど)にはColliderをつけて「Is Trigger」にチェック。
プレイヤー側ではOnTriggerEnterを使ってスコアを加算します。

void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Item"))
{
score++;
Destroy(other.gameObject);
}
}

タグを使って分類しておくと、後でまとめて処理できるのが便利です。
初めて「アイテムを取った瞬間に消える」のを見たときは、ゲームの仕組みが少しわかった気がしました。

5. モデルや地形を入れて世界を作り込む

次は3Dモデルを取り込んでみましょう。
Unity Asset Storeから無料の素材をダウンロードできます。
最初のうちは「LowPoly」系がおすすめ。
軽くて扱いやすいです。

Terrainツールを使うと、地形をブラシで描けます。
山を盛り上げたり、草を塗ったりできるので、感覚的に“遊べる空間”が作れます。
ちょっとした丘を作るだけで、画面の奥行きがグッと増します。

ただし、モデルやテクスチャを入れすぎると処理が重くなりがち。
スマホ向けに出す予定なら、軽量化(LOD・Bake・Lightmap)も意識しましょう。

6. ゲームをスマホで動かしてみよう

Unityはスマホ出力も簡単です。
わたしはAndroidで試しましたが、設定は以下の通り。

  1. 「File」→「Build Settings」→「Android」を選択し「Switch Platform」
  2. Player Settingsから解像度・縦横比・アイコンを設定
  3. USBで端末を接続して「Build and Run」

最初のビルドは少し時間がかかりますが、動いた瞬間は感動ものです。
スマホで自作ゲームをプレイする体験は本当に特別。
バグも含めて「作ってる」感が一気に現実になります。

7. 3Dゲーム制作で注意したいポイント

ここで実際にやってみて気づいた落とし穴をいくつか共有します。

  • オブジェクトのスケールがバラバラだと当たり判定がズレる。
  • ライトの位置で影が強すぎる場合は「Baked」設定を見直す。
  • RigidBody付きオブジェクトは手動移動よりAddForceを使うと自然。
  • Unityのバージョン違いで挙動が変わるので、LTS版推奨。

「ちゃんと動くのに影が出ない」とか「床をすり抜ける」といったトラブルも多いですが、原因を探る過程が学びになります。
Unity公式マニュアルやフォーラムは本当に頼りになります。

まとめ:最初の1本を“完成させる”ことが大事

最初の3Dゲーム制作は「完成まで持っていく」のがいちばんの学びです。
グラフィックや物理演算、AIなどやりたいことは無限に出てきますが、まずは「動く→拾う→クリアする」の三点セットを形にすると一気に自信がつきます。

わたしも最初はシンプルな箱と球だけで作りましたが、そこから「敵を出そう」「マップを広げよう」と自然に欲が出て、気づけば小さな3Dアクションが完成していました。

Unityを通じて、自分の世界を“立体的に作れる”感覚をぜひ味わってみてください。
もし体系的に学びたい方は、初心者向けの講座がまとめられているUnity入門の森ショップもおすすめです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?