Pages

2012年8月29日水曜日

iPhone Androidでフリック・トス系のアプリを作る時


フリックして飛ばすとか投げるスクリプトを公開していました。

http://forum.unity3d.com/threads/91726-Flicking-Shooting-Throwing-Tossing-Lobbing-Slicing-script.


2012年8月22日水曜日

Unityの新パーティクルシステム(Shriken)ざっと見

1 生成方法
GameObject -> Create Other -> Particle System

2 カスタマイズ

・モジュールを使うことで色々な動きを実現できる。

・パーティクルエフェクトにグループ化することで複数パーティクルの組み合わせが可能

・Open Editorボタンを押すことで、シーン上の同じ親を持つパーティクルシステムを表示できる

・インスペクタの値を変えると、リアルタイムにシーンビューのパーティクルが変化する。

・シーンビュー上のPreview Panelでは、再生やストップやリプレイができる。


3 カーブエディタでアニメーションさせる

モジュールの各プロパティは、minmaxカーブによってアニメーションしており、右側のプルダウンから値を変更できる。

以下設定できる値
Constant:変化しない
Random between constants:ランダムに変化
Curve:カーブエディタで指定した値に動く=編集可能
Random between curves:ランダムなカーブを自動生成

-はカーブを除去 +は最適化


4 色とグラデーションのアニメーション

カーブエディタと同じように使われる

Color: 色は変化しない

Gradient: グラデーションはRGBAで変化する。エディタで編集できる

Random Between Two Colors:2色の間でランダムに変化

Random Between Two Gradients: 2つのグラデーションARGBの間でランダムに変化

といったところ。次回はモジュールの中身(プロパティ)をひとつひとつ見ていこうと思う。

2012年7月29日日曜日

NGUIでスクロールを実現するには

1 Panelを別に用意する

NGUIメニューのAddPanelで追加できます。

2 1にUIPanelのclippingを設定する

SoftClipにしてsizeを設定
ここが、ドラッグさせるアイテムを表示できる大きさの限界を指定するところ。
ここで指定した大きさの窓からアイテムをのぞく感じになるイメージ。

3 UIPanelにUIDraggablePanelスクリプトをつける

scaleにはドラッグさせる方向を設定する。
横のみなら x=1 y=0 z=0

4  ドラッグさせるアイテムをつける

ここではアイテムを等間隔で配置するため、UIGridを作成します。

子要素に、UIGridをつけwidthとHeightを設定する。

UIDragPanelContentスクリプトをつける。

5 UIGridにアイテムを子要素で設定する

すべてにUIDragPanelContentスクリプトをつける。

プレイボタンを押すと等間隔で配置されます。

***問題***
1 スクロール実現方法

NGUIでのスクロールには2つの方法があります。(もうひとつはカメラを別に用意する方法)
こちらのほうが直感的なのでメインに利用しています。


Androidで利用する場合のハマるポイントとして、OpenGL2.0でないと正しく表示されません。
そこで、PlayerSettings→Other settings→Graphic levelでOpenGL2.0を選びましょう。




NGUIの多言語対応でコードからテキストを変更するには

以下、UILabelにUILocalizeをつけているものとする。


まずはキーを変更
uiLocalize.key="newTextKey";


これだけではテキストは変化しません。NGUIのローカライズは、OnEnabledで行われるからです。
そこで、自力でテキストの値をローカライズして取得する処理を書き足します。
uiLabel.text = Localization.Get( newTextKey );

Unity3Dで現在のシーンを判別するには


Application.loadedLevelName=="シーンの名前"

これだけ!

NGUIでUNITY3Dの多言語対応を実現する


1 Localizationフォルダを作成 その中にテキストファイルを入れる

キー=値のペアで改行する

tittle=たいとる
sub=さぶたいとる

対応する言語分のテキストを用意して名前をつける

English.txt
Japanese.txt


2 Localizationのプレハブをシーンにコピペ

NGUI→Example→Otherにある

3 UILabelのついたオブジェクトにUILocalizeスクリプトをつける


UILocalizeコンポーネントの
Keyプロパティに1の言語テキスト名をつける(ここではEnglish or Japanese)


言語の切り替えは、Localizationコンポーネントの値をいじって行う。

これはまた今度

2012年7月26日木曜日

Unityでメニューをアニメーションさせるには


アニメーションを呼び出場合。
例:メニューパネルをサイドからシュッと出すとき

public GameObject Panel;//animationコンポーネントをつけたパネル

呼び出すとき
Panel.animation["PanelAnimation"].speed=1.0f;
Panel.animation["PanelAnimation"].time=Panel.animation["PanelAnimation"].length;
Panel.animation.Play("PanelAnimation");

アニメーションを逆転させるにはspeedを反転します

Panel.animation["PanelAnimation"].speed=-1.0f;