読者です 読者をやめる 読者になる 読者になる

Unity オブジェクトを動かす Rigidbody編 [v5.5.0f3]

まずはオブジェクトを生成してみましょう

Unityにおいてオブジェクトを作り出すのはとても簡単です

 

  1. Hierarchyエリアを右クリック => 3D Objectを選択
  2. ゲーム画面に出したいオブジェクトを選択(今回はCube)f:id:gameddd:20170125121838p:plain

     

これで、立方体が生成されます

f:id:gameddd:20170125122027p:plain

ここで作成したCubeのステータスの説明です

UnityではInspectorがオブジェクトのステータスを表示してくれます

 

①Transform

Position    オブジェクトのある位置                                                 

Rotation   オブジェクトの回転位置                                             

Scale        オブジェクトの大きさ

 

②Cube(Mesh Filter)   

Mesh   この項目は3Dオブジェクトを生成する上でな くてはならないものになります

                 簡単に言うとMeshとは、型紙のようなものです

                 なので、形を変えたければこれをいじれば根本的な形が変わります

 

③Box Collider

Is Trigger   =>   チェックをつけることにより、物理演算をしなくなる

Material     =>   物理演算にこちらの好きな機能を追加するために追加する項目(追加しない場合普通の物理演算)

Center        =>   コライダーのローカル座標を指定

Size            =>   コライダーの大きさを指定

 

④Mesh Renderer

Cast Shadows  =>  ライトによる影の有無

Receive Shadows  =>  影を表示するか

Motion Vectors  =>  レンダリング時にどれをメインにレンダリングするか

Materials  =>  モデルと一緒にレンダリングするマテリアルのリスト

 

以下のものは使うときに随時説明します

 

Rigidbody

前回作ったtestのスクリプトを使用してオブジェクトを動かす処理を書いていきます

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//Rigidbodyの種類別動き
public class test : MonoBehaviour {

Rigidbody RB;//Rigidbodyの入れ物
Vector3 GO;//最初の位置

void Start () {

RB = GetComponent<Rigidbody>();//CubeにアタッチされてるRigidbodyを取得
GO = this.gameObject.transform.position;//最初の位置を取得
}

void Update () {
//元の位置に戻す
if (Input.GetKeyDown(KeyCode.Space))//1で動く
transform.position = GO;

//velocity
//速度の変更する移動
if(Input.GetKeyDown(KeyCode.Alpha1) )//1で動く
RB.velocity = Vector3.forward * 0.1f;

//position
//位置を変更する移動
if (Input.GetKeyDown(KeyCode.Alpha2))//2で動く
RB.position = Vector3.forward * 0.1f;

//----------------AddForece-----------------
//力を加える
if (Input.GetKeyDown(KeyCode.Alpha3))//3で動く
RB.AddForce(Vector3.forward * 0.1f);

//Mode Force = 継続的な力
if (Input.GetKeyDown(KeyCode.Q))//Qで動く
RB.AddForce(Vector3.forward * 0.1f, ForceMode.Force);

//Mode Impulse == 瞬間的な力
if (Input.GetKeyDown(KeyCode.W))//Wで動く
RB.AddForce(Vector3.forward * 0.1f, ForceMode.Impulse);

//Mode VelocityChange == 瞬間的な力(質量無視)
if (Input.GetKeyDown(KeyCode.E))//Eで動く
RB.AddForce(Vector3.forward * 0.1f, ForceMode.VelocityChange);
}
}

 まずは、こちらのスクリプトをコピペして動かしてみてください

うごかないと、いう方は

http://ux.getuploader.com/Unity_gameddd/download/1/New+Unity+Project.zip

こちらからダウンロードしていただければ動かせると思います

 

Unity Script作成&編集&デバッカー切り替え[v5.5.0f3]

Unityでゲームを作りたい場合は絶対的にスクリプトというものを書かなければいけません

UnityではC#javascriptの言語を使ってスクリプトを書くことができます

 

今回は、スクリプトの作成と、編集ソフトについて説明します

スクリプト作成

f:id:gameddd:20170125094038p:plain

 

1.画像のピンクのエリアを右クリック

2.Create => C# Script 

f:id:gameddd:20170125101746p:plain

このような物が作成されていれば成功です

後は、そのスクリプトがわかりやすいように名前を変えてください

スクリプトの名前は基本的には半角英数字なら、大丈夫なのですが日本語を使ってしまうと、エラーの原因になるので日本語は基本的にNGです

 

Scriptの名前変更の注意点

scriptの名前を今のから変えたいから変えよーと思い、scriptの名前を変えたら確認してほしいのが

f:id:gameddd:20170125104151p:plain

この赤枠の名前の部分です

これが違うと絶対エラーをはきます!名前を変えた際はこちらの確認をお忘れなく!

 

Visual StudioMonoDevelop

さあ!いざ書くぞ!

と、なったときにまずは先ほど作成したスクリプトダブルクリックします

 

ここで2通りの人がいると思います

1.MonoDevelopが開いた人

2.VisualStudioが開いた人(こちらはあまりいないかも?)

 

1.MonoDevelop

Unityにはインストール時にMonoDevelop(以後Mono)というソフトがインストールできるけどしますか?と聞いてきます

そこで、Monoをインストールしていた人は

f:id:gameddd:20170125110243p:plain

このような画面が開いたと思います

Monoの特徴としては

・あからさまな、ミスは赤い波線で教えてくれます

・それ以外に動かさないとわからないようなエラーは、左上の再生ボタンのようなものを押すと、一度動いて確認してくれます

再生ボタンを押した状態でUnityでゲームを再生してしまうとかなり重くなります

必ず、もう一度押して再生をとめてからUnityを動かしてください

(スクリプトを2つのソフトを同時に二つ動かしている状態)

 

2.VisualStudio

こちらはもともとVisualStudioがインストールしてあり、かつ追加でUnity用のデータもインストールしている人だと思います

VisualStudioインストールしてるのにMonoが起動した人は追加でUnity用のデータを入れていないからだと思います

 

こちらからお使いのVisualStudioのバージョンにあったものをダウンロードしてインストールしてみてください

https://msdn.microsoft.com/ja-jp/dn833194.aspx

 

そして、開いたら

f:id:gameddd:20170125110248p:plain

このような画面が開けば導入成功です

 

VisualStudioの特徴としては

・基本的なエラーの元になるものは赤い波線で教えてくれます

・Ctl+Sで保存しないとUnity側に反映されないので注意

・動作が比較的軽い(私の体感です)

 

デバッカーの切り替え

  1. Edit => Preferences f:id:gameddd:20170125114047p:plain
  2. External Tools => External Script Editor f:id:gameddd:20170125114048p:plain

これで変更可能です

 

 

 

 

Unity プロジェクト作成 [v5.5.0f3]

Unityで自分の作りたいゲームを作り始める段階までの前準備

Unityを起動するとこのような画面になります[ver.5.5.0f1現在]

f:id:gameddd:20170124212113p:plain

            ↓

f:id:gameddd:20170124213804p:plain

①Project name ・・・ここでは、Unityプロジェクトを作成した時にできるファイルの                                        名前を決定します

②Location         ・・・作成したファイルの保存場所を指定します

                                     枠の右端の・・・をクリックすれば保存場所を確認しながら選択                                      できます

③Organization   ・・・この項目はUnity5.5.0から追加されました

                                      Unity5.5.0では、いくつかのサービスが結合されたので、それを                                       使うために指定します

                                      ここはいじらなくても大丈夫です

④3D or 2D         ・・・3Dゲームを作りたいか、2Dゲームを作りたいかを選択します