2015年3月26日木曜日

【unity4】5分で出来る廃墟を駆けるユニティちゃん

またまたみんながやりたい基本シリーズです。

①unityで新しいプロジェクトを作成し以下2つのアセットをインポートします。

1・Destroyed City FREE

 
2・"Unity-chan!" model



②インポートが完了したらDestroyed City FREEでインポートされたシーンファイルを開きます。

 Don't Saveを選択。

こんな感じで開けます。




③First Person Controllerを無効にします。

Destroyed City FREEのサンプルではFirst Person Controllerを使用して散策出来るようになっています。
First Person Controller:一人称視点、十字キーで移動とか出来るやつ

今回はユニティちゃんに動きまわって欲しいので無効にしておきます。削除でもいいですよ。



④MainCameraとunitychanをD&DでHierachyに配置します。


配置するとこんな感じ。


⑤unityちゃんの位置を変更。
このままだとunityちゃんが街からはなれたところにいるので位置を移動させます。


⑥実行してみましょう。
こんな感じになります。
操作方法などが画面に表示されていてわかりやすいですね。
十字キーなどで移動してみて廃墟を散策してみましょう。
表情も変更出来るようです。



以上となります。

ユニティちゃんにセットされているUnityChanLocomotionsには走ったりジャンプしたりが既にくみこまれているため、これだけで簡単なゲームが出来てしまいそうです。

基本的なことですが、まずは第一歩としてここから手をつける人が多いと思うのでまとめてみました。



2015年3月10日火曜日

【unity4】3rd Person Controllerをアンドロイド端末の仮想ジョイスティックで動かす

基本ではあるのですが、、誰もが最初にやりたいことだと思うのでメモ。


①プロジェクトを作成し、必要なアセットをインポートする。

unityのプロジェクトを作成します。
ちなみにunityのバージョンは4.6.2を使用しています。


プロジェクトを作成したらアセットを読み込みます。
今回は以下の2つを使用したいので
・3rd Person Controller
・Dual Joysticks

以下の2つのアセットをインポートします。
・Charactor Controller
・Standard Assets(Mobile)

メニューのAssets→import Package→該当のアセットを選択



Importを選択しインポート。


Charactor Controller、Standard Assets(Mobile)をそれぞれインポートし、
Project上にアセットがインポートされていることを確認します。



②Hierarchy上に必要なプレハブを配置

以下2つのプレハブをHierarchyに配置します。
・ 3rd Person Controller
・Dual Joysticks

ついでに
・Cubeなどで地面を作成
・3rd Person Controllerを地面にめり込まないように上に移動(下画像だとめり込んでますね)



ちなみにPC画面上で実行しても仮想ジョイスティックは動きません。
(unityRemoteを使ってAndroid上で実行するとジョイスティックは動かせます。)
(もちろんまだスクリプトの修正ができていないのでキャラクターは動きません)


④スクリプトの変更

Third Person ControllerにセットされているThird Person Controller(Script)を開きます。





以下の通りスクリプトを編集します。
93行目あたり以下を追加
var inputX;
var inputY;

145行目あたりを以下に変更
var v = Input.GetAxisRaw("Vertical")+inputY;
var h = Input.GetAxisRaw("Horizontal")+inputX;

197行目あたりを以下に変更
// Pick speed modifier
if (Input.GetKey (KeyCode.LeftShift) || Input.GetKey (KeyCode.RightShift) || inputY == 1 || inputY == -1)
{


Dual Joysticks内のLeftJoystickとRightJoystickオブジェクトには同じJoystickスクリプトが設定されています。
Joystickスクリプトをコピーして
LeftJoystickオブジェクトにはJoystick_L
RightJoystickオブジェクトにはJoystick_R
としてセットします。



Joystick_Lを以下の通り編集します。
20行目あたりに以下を変更
class Boundary_L

45行目あたりを以下に変更
private var guiBoundary : Boundary_L = Boundary_L();   // Boundary for joystick graphic

247行目あたりに以下を追加
var controller = GameObject.FindObjectOfType( ThirdPersonController ) as ThirdPersonController;
controller.inputX = position.x;

Joystick_Rを以下の通り編集します。
20行目あたりに以下を変更
class Boundary_R

45行目あたりを以下に変更
private var guiBoundary : Boundary_R = Boundary_R();   // Boundary for joystick graphic

247行目あたりに以下を追加
var controller = GameObject.FindObjectOfType( ThirdPersonController ) as ThirdPersonController;
controller.inputY = position.y;


バグかもしれませんが、なぜかjoystickスクリプトのPosition.Yが未操作だと「-7.629394e-08」となってしまうため、Inspector上でDead Zoneを0.1に設定します。




また3rd Person ControllerオブジェクトのThird Person Controllerスクリプトに
Inspectorから以下の通り設定します。

Idle Animation →idle
Walk Animation →walk
Run Animation →run
Jump Pose Animation →jump_pose




設定は以上となります。
これをAndroid上のunityRemoteを使って実行すると仮想ジョイスティックでキャラクターを操作することが出来ます。
左の上スティックで方向、右の上位スティックで移動速度を操作出来ます



次回は仮想タッチパッドを追加する予定です。





2015年3月9日月曜日

unity5リリース!!

ついにunity5がリリースされましたね!

早速既存のプロジェクトをunity5で開いてみたところ、いろいろエラーで動かない・・・
もう少し様子見して移行することとしてunity4をしばらくは使います。

ちなみに私はunity5のリリースをGIGAZINEさんで知りました。
http://gigazine.net/news/20150304-unity-5/

あとUnreal Engine 4というゲームエンジンも無償化されたらしいですね。
http://gigazine.net/news/20150303-unreal-engine-4-free/

気になるといえば気になるのですが、私はユニティちゃんを応援します!!!




久々の更新だー