Unityな日々(Unity Geek)

Unityで可視化アプリを開発するための試行錯誤の覚書

script-基本

MonoBehaviourを理解する

参考 Unity Script Reference – MonoBehaviour Unityのスクリプトはすべて、MonoBehaviourクラスの子クラスでなければならない。 javascriptの場合は明示的に指定しなくてもMonoBehaviourの子クラスになる。例えば、testScript.jsと言うスクリプトファイルを…

#pragmaを使う

#pragmaとは、コンパイラ固有の指定を行う手段として ISO/JIS/ANSI 規格で定められているもの。#pragma 文の構文はコンパイラによって異なる。Unityの場合、次の3つがある。 pragma strict - 動的型付けを不可にする pragma implicit - 型の暗黙宣言を可能…

高速化:組み込み(ビルトイン)配列を使う

(Unity Script Reference – Array) 一般にスクリプトで配列を定義する際は、 var array = new Array (Vector3(0, 0, 0), Vector3(0, 0, 1));のようにする。これをjavascript配列と呼ぶ。値を指定しない場合のデフォルトは"null"になる。一方、ビルトイン配…

連想配列(Hashtable)を使う

こちら(Unityでゲーム開発 -JavaScript:連想配列を使う方法-)を参照のこと。

変数の型を変換する

(1) Parse() メソッドを使う var num = float.Parse("123.456"); // numはfloat変数になる

外部ファイルへのパス

Unityでは外部ファイルへのアクセスがやや面倒。ややこしいので具体例で示す。以下、Mac環境です。まず現在のアプリケーションのパスは Application.dataPath で取得できる。ただし、実行環境でその値は異なる。(参考:Unity Script Reference – Applicatio…

パスについて

ローカルデータにアクセスするには、"file://"+絶対パスで記述する Macの場合、"file://ボリューム名/Users/...”となる。 "file://XOOMS14/Users/ay3844/Documents/_development/unity/trial/trial01/publish/data/pict01.jpg"; この例では"XOOMS14"がボリュ…

WWWクラスで外部ファイルを読みこむ

wwwクラスを使ってUnityで外部ファイルを読み込むことができる。http://images.earthcam.com/ec_metros/ourcams/fridays.jpgの画像ファイルを読み込む例。 #pragma strict var url = "http://images.earthcam.com/ec_metros/ourcams/fridays.jpg"; function …

外部のテキストファイルを読み込む

外部テキストファイルを読み込むひとつの方法が、System.IOを使うもの。 【関連】 WWWを使う方法:WWWクラスで外部ファイルを読みこむ - Unityな日々(Unity Geek) Text Assetを使う方法:テキストファイル(TextAsset)からレイアウト情報を読み込む - 強火…

オブジェクトに物理的な特性を加える(Rigidbody)

対象オブジェクトに、Rigidbody コンポーネントを付加する。 例えば、対象オブジェクトを一定速度で動かす場合、対象オブジェクトに次のスクリプトを付加。 秒速1mで上方向に移動する function Start () { rigidbody.velocity = Vector3.up; } function Upda…

オブジェクトのまわりを回転させる

transform.RotateAround()関数を使う。下の例では、targetオブジェクトのupベクター(Y軸)の周りを秒速45度でまわる。 第一引数のVector3.zeroはこのスクリプトがアタッチされるオブジェクトの回転基準点らしい。 var target:Transform; function Start () …

フレームとUpdate(), FixedUpdate()

Unityは「フレーム」と言う概念で描画を繰り返す。映像と同じ考えだ。 ひとつのフレームの動作はfunction Update(){} の中に記述するが、Update()は実行間隔は一定ではない。 そこで、前のループからの時間経過を表すTime.deltaTimeを使う。定めた速度にTime…

HOTweenのTips

HOTweenのベストプラクティスのページに書かれているTips。 最初のTweenを作る前に、HOTween.Initを実行する。HOTweenのインスタンスは削除せず使う。 TweenのIDを保存する際は、Id(テキスト)ではなく、IntId(整数指定)を使う。 同一の Tweener/Sequence…

HOTween Visual Editorをインストールする

HOTweenのdownloadページで、HOTween Visual Editorのリンクをクリックし、ZIPファイルを保存 ZIPファイルを解凍。"HOTweenEditor"と言うフォルダができる。 フォルダの中には、packageファイルがある。これを適当な場所に移動。(僕の場合は、Unity開発用に…

HOTweenを導入する

HOTweenは、高速・タイプセーフなオブジェクト指向Tweenエンジン。javascriptでもC#でも使える。 数値(および一部の非数値)プロパティおよびフィールド(number, vectorなど)を「アニメート」できる。 現在、Windows、OSX、iOS、Androidで作動。Flash用エ…