うに好きあーちゃん

巷で話題のunity3dはじめてみたょ♥

十字キーで移動するっちゃ♥

rigidbody.MovePositionとか、transform.positionとか、

プレイヤーの動かし方っていっぱいあってよくわかんな〜い!

ってことで、チラッとまとめちゃうょ♪

 

【十字キーで移動(重力あり)だっちゃ】

// 左右の移動
rigidbody.MovePosition(rigidbody.position + Vector3.right * Time.deltaTime * Input.GetAxis("Horizontal"));

// 前後の移動
rigidbody.MovePosition(rigidbody.position + Vector3.forward * Time.deltaTime * Input.GetAxis("Vertical"));

キー操作のHorizontalとかVerticalとかは、☆ココ↓☆とかを参考にしてちょんまげ☆

http://ws.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation/Manual/Input.html

 

【十字キーで移動(重力なし)だっちゃ】

// 左右の移動
transform.position += transform.right * speed * Time.deltaTime * Input.GetAxis("Horizontal");

// 前後の移動
transform.position += transform.forward * speed * Time.deltaTime * Input.GetAxis("Vertical");

speedにはイイ感じの数値をいれてね☆

 

【丸いのを転がすっちゃ】

var z = Vector3.forward * Input.GetAxis("Vertical") * Time.deltaTime * speed; 
var x = Vector3.right * Input.GetAxis("Horizontal") * Time.deltaTime * speed; 
rigidbody.AddForce( x + z );

四角いのを転がすとき、とかタッチのとき、とかはちょっと長くなるから

いつかそのうち書きますね〜

スクリプトで始めるUnity

"Unity 入門"などで検索して、色々なサイトを見て勉強してたのですが

最初につまづいたというか、疑問に思った所は

初期処理を行うスクリプトは何処へ書けばよいの?

でした。

 

1.HierarchyにCube等のオブジェクトを配置。

2.スクリプトファイルを作成

3.スクリプトファイルをHierarchyのオブジェクトにドラッグ

4.オブジェクトの制御を行う処理をスクリプトファイルに記述

という流れの説明はよく拝見させていただいたのですが。。。

そもそもオブジェクトをスクリプトで初期配置する時とかは、

そのスクリプトを何処に書けば良いのかな。。。て。

 

とりあえず私は下記の様な感じで作るようにしました。

1.GameObject→CreateEmptyで空のオブジェクトを生成し、名前を「GameMaster」に変更

2.Assets→Create→Javascriptでファイル名を"GameMaster.js"にする

3."GameMaster.js"をHierarchyの「GameMaster」にドラッグ

4.初期化処理等を"GameMaster.js"に記述。

 

キューブ等のオブジェクトを作るか空のオブジェクトを作るかの違いだけですが

最初ここでハマってしまいました。

EZ GUIてゆうのを使ってみたよ!!(その1)♡

Unityって3Dを扱うのは得意らしいんだけど、2D系のものを扱うのは苦手らしいんだよね。
でなんか2DのHUDっていうの?あれ。なんかよくある耐力ゲージとかそういうの。3Dのシーンじゃない上にのっかってるアレ。
アレを作りたいのにどうしたら良いの?っておもってたら、そういうの楽に扱えるEZ GUIってのがあるからこれ使っとけっていう声がどこかから聞こえてきたから使ってみたょ。
基本的な使い型わ、有名なアセットだからいろんな人がかいてくれてるとおもうので、あたしが使いはじめてちょっと何よこれ~?っておもったとこだけ書いていくね♡

 

一番ムカついた悲しくなっちゃったのがこれ

・PixelPerfectにGame-Viewの(画面上の)解像度が影響しちゃう

ボタンとかを素材の大きさぴったりに表示されるように拡大縮小してくれるのがPixelPerfectって機能。
でもこれが曲者で、gameViewをちっちゃくしてる状態でチェック入れちゃうと、書き出し用の解像度ではなくて今表示されてるGameViewの解像度にたいしてpixelPerfectがかかっちゃう。だから意図した大きさを保つには

  1. game-viewの解像度を実際の書き出し時の解像度に"PixelPercfect"に合わせます(アスペクト比があってるだけじゃダメ!全く拡縮がかかってない状態にしないとだめだよ!)
  2. 素材のPixelPerfectをチェックします。
  3. チェックを外します。
  4. このあとはGame-Viewの大きさを自由に変えてもOKなのよ。

要するに

  • PixelPerfectをいじるときはgame-ViewもpixelPerfectにしておく。
  • game-viewをいじるときはPixelPerfectのチェックが入っていてはいけない。

ってことかなぁ。最初気づく前はなんか見るたびにボタンのサイズが変わっててイライラしたよ♡

ちなみにAutoResizeはロールオーバーとかのstate毎に違うサイズのテクスチャが貼られてる時に自動リサイズする機能。
大概サイズ違うと思うから基本ONにしとくといいと思うのあたしは。

フォントマテリアルの作り方

白ベースで作らないと色が乗らないよ。

1024px以上のatlasが作れない?

graphics emulationがiPhoneになってるとmax atlas sizeが無視されて1024pxのしか生成しないの。
なんでかわからなくて泣きそうになって英語のページ調べてやっとわかったんだよ!
iPhoneでも3GS以上なら2048pxのテクスチャ使えるのにね!
エミュレーションをoffにした上でテクスチャ側のmaxも2048とかにするの。だまって1024にしないでせめてアラートぐらい出してほしいよね!ぷんぷん!

 

Unity3Dのスペシャルフォルダとコンパイル順をくゎしく♥

 

スペシャルフォルダ

Assets内のフォルダは、名称によって特別な役割を持たせることが出来るようです。それら(スペシャルフォルダ)をちょっとまとめてみました。(他にもあったら教えてくださいネ)

 

Resources

スクリプトから利用するリソースを置くことが推奨されている特別なフォルダ。

使用されてないリソースであっても、ビルドに含まれるので注意が必要。

 

Editor

フォルダ内スクリプトからUnityEditorスクリプトAPIへアクセス可能にする特別なフォルダ名。

Editor拡張関連を参考に

 

Plugins

プラグインとして利用するファイルを配置するフォルダ。Pro版のみ有効。

 

Plugins/iOS

iOSプラグイン配置フォルダ。

(iOS書き出しの際に、このフォルダ内の .a/.m/.mm/.c/.cpp 拡張子ファイルをxcodeプロジェクトにマージします)

 

Plugins/Android

Androidプラグイン配置フォルダ。

 

Gizmos

Gizmos.DrawIconなどで使う、アイコンファイルの格納フォルダ。

 

WebPlayerTemplates/[テンプレート名]

Web Player書き出しの際に利用出来るHTML関連テンプレートフォルダ。テンプレート変数などを参考に。(このフォルダ内のスクリプトファイルはコンパイルの対象にはならないようです)

 

コンパイル順序

Unityプロジェクト内のスクリプトは、フォルダ名ごとにコンパイル順序が、下記のように決まっているようです。

  1. "Standard Assets","Pro Standard Assets","Plugins"内のスクリプト
  2. "Standard Assets/Editor","Pro Standard Assets/Editor","Plugins/Editor"内のスクリプト
  3. "Editor"外のスクリプト
  4. "Editor"内のスクリプト

スクリプトの配置には気をつけたほうが良さそうですネ。

さらに、細かく順番を決めたい場合はUnityメニューの[Edit]->[Project Settings]->[Script Execution Order]から指定できるようですょ。

projectビューのフォルダの巻♥

今回は、projectビューのフォルダの配置についてです!!

新しくプロジェクトをつくったら、

ひとまず、使いそうなフォルダを用意します!

よく使うのはこんな感じ↓です(あくまで参考なので、この通りでなくてOKです♪)

  • GUI
  • Materials
  • Particles
  • Player
  • Props
  • Scenes
  • Scripts
  • Sounds
  • Texture

    f:id:archan596:20120126202635j:plain

 

フォルダは入れ子にして、わかりやすい階層にします。

Materials、Textures、Scripts、あたりはドンドン増えてくるので、

わかりやすい配置にしといたほうがいいです!!

 

あと、、

  • Editor(エディタを拡張したいときにスクリプトをいれる)
  • Plugins(EZGUIとかいれると自動でできる)
  • Standard Assets
  • Pro Standard Assets

とかのフォルダ名は、上に書いたようなフォルダとは扱いが違って、

このフォルダ中にあるスクリプトを、外のフォルダのスクリプトからは

直接いじることができないらしいので要注意です!!

とはいっても、そこらへんはまだよくわかっていないので勉強しなきゃですー!!

Unity3Dのインストールと新規プロジェクト作成

Unity3Dのダウンロードとインストール♥

安定版のダウンロードは、ダウンロードページから行いますょ。
各プラットフォームに対応したバイナリがダウンロードされるので、実行してインストールを完了しましょう。

Unity3Dのライセンス認証

 初回起動時にライセンス認証を求められます。フリー版使用であってもこの手順は実行する必要があります。

  1. 「Internet activation」を選択し「次へ」をクリックします。
  2. デフォルトのブラウザが立ち上がりactivationページが表示されます。
  3. 「Register with Unity」の「Email」の欄に自分のメールアドレスを入力します。
  4. 無料版を利用するのであれば「Choose your license」にある「Free」のボタンを押せば完了です。ライセンス購入や既にライセンスを保持している場合は、その下の項目で対応/入力できます。
  5. ブラウザ側で上記手順が完了すると、Unity3Dの「Internet activation」ダイアログが切り替わるので、「完了」ボタンを押して完了します。

 たまに、5の状態でダイアログが切り替わらない場合があるようですが、Unityを再起動すると認証されてたりするようです。あせらずに。

認証後、再度認証したい場合はメニューの「Help」→「Enter serial number...」から行えます。 

また、同じプロジェクト/社内でフリー版とPro版の混在はライセンス的に不可との事なので注意する必要があります。さらに、一定以上の収益規模の会社さんの場合、そもそもフリー版の使用ができないそうなので、要確認です。

新規プロジェクト作成

 初めてUnity3Dを起動する場合は、同封されているサンプルプロジェクトが開かれると思います。一通りサンプルを眺めて、満足したら新規プロジェクトを作成しましょう。

  1. 「File」メニューから「New Project...」を選択
  2. 開いたウィンドウの「Create New Project」タブから「Project Location」(プロジェクトファイルを置く場所)を設定。
  3. 下の「Import the following packages」で利用したいパッケージを選択。(これは後からでも追加できるので、明確に使う予定のもの以外はチェックする必要無いです)
  4. 上記設定が完了したら「Create」ボタンを押して新規プロジェクトを作成します。
  5. 完了するとUnity3Dが再起動します。立ち上がると新規プロジェクトの画面になっていると思います。

Unity3Dは複数プロジェクトを同時に起動することはできないようです。ちょっと不便ですが、仕方ないですね。

今回は以上です。
Unity3Dプロジェクトでは、環境設定やスペシャルフォルダ配置など最初にやっておいたほうがいいことがあるので、次回以降、その辺りをまとめられたらいいなと思います♥

Unity3D始めました!

 

f:id:archan596:20120119191638j:plain

最近なにかと話題のゲームエンジン「Unity3D」始めてみました!

まだわからないことだらけですけど、少しずつ勉強しながら、つまずいたこととか、これは大事だな!

って思ったこととかを、ココにメモしていけたらいーなーって思ってます!!