自分がBlenderに初めて触ったのはバージョン1.5の頃。それが何年前だったかは定かではありませんが、確かなのは本棚にBlender1.5のマニュアルが残っていること。あの時、Blenderに興味を持って使えるようになりたいと思っていたのは確かです。
それから何度かBlenderをインストールして触ってはいるのですが、残念ながら未だに自分が制作に使うツールにはなっていません。
プログラミングやテクニカルな内容の覚え書き。
自分がBlenderに初めて触ったのはバージョン1.5の頃。それが何年前だったかは定かではありませんが、確かなのは本棚にBlender1.5のマニュアルが残っていること。あの時、Blenderに興味を持って使えるようになりたいと思っていたのは確かです。
それから何度かBlenderをインストールして触ってはいるのですが、残念ながら未だに自分が制作に使うツールにはなっていません。
プレハブからインスタンスを生成し、マウスでクリックされた際に実行されるデリゲートを設定するサンプル。
HierarchyにCube(Primitive)を作成し、以下のスクリプトを追加してプレハブ(Cube)を作成する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
using UnityEngine; using System.Collections; public class Cube : MonoBehaviour { public delegate void DelegateFunc(); public DelegateFunc callbackOnMouseDown = null; string _strName; public string StrName { set { _strName = value; } get { return _strName; } } void OnMouseDown() { print("Cube - onMouseDown() : " + _strName); if (callbackOnMouseDown != null) callbackOnMouseDown(); } } |
プレハブ(Cube)を作成したら、Hierarchyからは削除しておく。
2014/01/23
category: Unity | tag: iOS7, UnityRemote3 | no comments
先日の「Unity Remote 3とiOS7の相性問題の解決策」の続きです。
周りに同様の問題で困っている人が数人いたのですが、前回の方法ではiTunesのRemoteを使えるようにする所が上手く行きませんでした。ウェブで検索してみると、同様にRemoteアプリが動かなくて困っているケースがいくつか見つかりました。Remoteの力を借りてUnity Remote 3を動かすのは諦めて、根本的に解決する方法を考えました。
問題は、iOS7でUnity Remote 3を起動すると、
1. Macを見つけてくれない
2. IPアドレスを直接入力できない(AlertViewの仕様がiOS7で変わったため)
の2つの点です。
1は何が原因になっているかよく分からないので置いておいて、簡単そうな2のIPアドレスを入力する欄を何とかする方法について考えました。
以下に「Unity Remote 3のソースを修正して自分でビルドして使う方法」を書きます。
アプリが実行されている言語環境を取得して表示されるメッセージを変えるには、ApplicationクラスのsystemLanguageプロパティを参照する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
using UnityEngine; using System.Collections; public class TestLocalize : MonoBehaviour { void Start () { if (Application.systemLanguage == SystemLanguage.Japanese) { print("++日本語のメッセージ++"); } else { print("<<English Message>>"); } } } |
返される値は
SystemLanguage : http://docs-jp.unity3d.com/Documentation/ScriptReference/SystemLanguage.html
を参照。
Monodevelopで日本語が入力できるようにならないと使えないですね…。
2014/01/16
category: Unity | tag: iOS7, UnityRemote3 | no comments
iPhoneをiOS7に上げた時からだと思うのですが、家の環境ではUnity Remote 3を以前のように使うことができなくなりました。タップ入力のテストには重宝していたのですが・・・
iPhoneでUnity Remote 3を起動すると、以前はMacを自動的に見つけてくれて選択できるようになったのですが現在は以下の図のような状態。
Enter IP Addressボタンを押してもiOS7でUiKitが変わったためかIPアドレスを入力できなくなりました。
Time.timeScaleの値を設定することで再生の速度を変えることができます。
Update(), LateUpdate(), FixedUpdate()のそれぞれについてtimeScaleの影響を確認してみました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
using UnityEngine; using System.Collections; public class Controller : MonoBehaviour { UIButton _buttonPause; UIButton _buttonSlow; UIButton _buttonPlay; void Awake() { _buttonPause = GameObject.Find("ButtonPause").GetComponent<UIButton>(); EventDelegate.Add(_buttonPause.onClick, onClickButtonPause); _buttonSlow = GameObject.Find("ButtonSlow").GetComponent<UIButton>(); EventDelegate.Add(_buttonSlow.onClick, onClickButtonSlow); _buttonPlay = GameObject.Find("ButtonPlay").GetComponent<UIButton>(); EventDelegate.Add(_buttonPlay.onClick, onClickButtonPlay); } public void onClickButtonPause() { Time.timeScale = 0; } public void onClickButtonSlow() { Time.timeScale = 0.3f; } public void onClickButtonPlay() { Time.timeScale = 1; } } |
NGUIのUITextureの画像を入れ替えるサンプル。
1. NGUIのUITextureをHierarchyへ追加する。
2. 以下のスクリプトをUITextureへ追加する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
using UnityEngine; using System.Collections; public class TestUITexture : MonoBehaviour { public Texture2D _texture1; public Texture2D _texture2; UITexture _texture; void Awake() { _texture = GetComponent<UITexture>(); } void Start() { _texture.mainTexture = _texture1; Invoke("ChangeTexture", 5); } void ChangeTexture() { _texture.mainTexture = _texture2; } } |
3. InspectorでTexture1とTexture2にテクスチャを設定する。
シーンを再生するとUITextureにはTexture1の画像が表示され、5秒後にTexture2の画像に入れ替わります。
iOS向けにビルドする際に、見慣れないエラーメッセージが表示された。
An asset is marked as dont save, but is included in the build.
自分ではアセットに対して保存を禁止するような設定はしていなかったのですが・・・。
プロジェクトにはNGUIアセットを追加して、ラベル付きのボタンを作成していました。スプライトとラベルから成る単純なものです。
ラベルのフォント指定は、「Lucida Grande」「Dynamic」。Fontをクリックした時に表示されるSelect a Fontから選択しました。LucidaフォントはNGUIアセットを追加した際に利用可能になったものだと思います。
エラーの原因は、このフォントの設定でした。「Arial」「Dynamic」に設定したところ、エラー無くiOS向けのビルドができました。