Unity
はじめに プレイヤーに向けて移動するホーミング弾的なものの実装 Vector3.MoveTowards は2点間の特定の位置を返すので、プレイヤーの座標と弾の座標を指定して、Update 毎に距離を詰める コード public class Bullet : MonoBehaviour { void Update () { Ga…
はじめに Unity の C# スクリプトで列挙型から文字列への変換は ToString メソッドでできるが遅いらしい そこで、静的コンストラクタで列挙型から文字列に変換しておいて、拡張メソッドで変換した文字列を参照するようにしてみた 宣言 using UnityEngine; us…
はじめに Unity で MBaaS である Parse.com を使ったアプリの作成から、ユーザーの登録とユーザーログインまでを行ったメモ。 Parse.com の登録とアプリの作成 Parse.com への登録は https://www.parse.com/ の Sign Up から。 ユーザー登録をすると、そのま…
List を string に変換するコード using UnityEngine; using System; using System.IO; using System.Collections; using System.Runtime.Serialization.Formatters.Binary; namespace MyUtils { public class SerializeUtils { public static string Serial…
// Android のネイティブクラスの取得 AndroidJavaClass ajc = new AndroidJavaClass("com.example.SomeClass"); // public static int な変数の値を変更 ajc.SetStatic<int>("someStaticInt", 123); // public static String な変数の値を変更 ajc.SetStatic<string>("so</string></int>…
はじめに Unity で iOS のローカル通知を実装する。 Android とは違って、iOS ネイティブの通知機能のラッパーが Unity 側で実装されているので、これを呼び出すだけでよい。 前回の Android 版と同様に、アプリが非アクティブになったら、一定時間後にロー…
はじめに 前回に引き続き Unity での Android ネイティブプラグインの実装 今回は、アプリ起動後に非アクティブにしたまま一定時間が経過したら、ローカル通知を出して呼び戻す機能の実装。 プラグイン側の実装 バックグラウンドで実行される Service を実装…
はじめに Unity で Android のネイティブプラグインを書いてみた記録。 ネイティブプラグイン作成環境を構築し、実際にローカル通知を出すプラグインを作成した。 ネイティブプラグイン作成環境構築参考サイト http://qiita.com/relzx/items/a35f7ab6dbacb48…
はじめに ゲームオブジェクトの状態遷移処理を毎回 Update とかに書いていたので、https://github.com/thefuntastic/Unity3d-Finite-State-Machine を参考に有限オートマトンを実装した。 有限オートマトンクラス 状態を管理するクラス 状態を管理したいオブ…
はじめに Unity で Observer Pattern を実装したメモ http://www.gamasutra.com/blogs/DarrelCusey/20130829/199271/A_Simple_Observer_Pattern_for_Unity_42.php を参考に、MonoBehaviour を継承しなくても使えるようになどの変更をした ついでに Unity Tes…
はじめに Unity の 2D 表示と NGUI では、ともに画面の縦幅を固定するオプションはあるが、横幅を固定することができないので、スクリプトで対応したメモ。 バージョン Unity 4.3.4 NGUI 3.5.6 Unity 2D で横幅を固定する 以下のスクリプトをシーン上の任意…
はじめに Unity で作ったアプリを iOS と Android で動作確認するために DeployGate を使います DeployGate の登録 https://deploygate.com/ からユーザー登録をしてください Android アプリの配布 まずは、Unity 側で apk ファイルを作成します 手順は http…
はじめに Unity の GUI 拡張 Asset の NGUI を使って、HTML のセレクトボックス的なものを作るには、UIPopup List というコンポーネントを使います。 NGUI v3.5.6 だと、"NGUI/Examples/Scenes/Example 10 - Localization" というシーンで使い方を確認できま…
はじめに Unity で iOS のアプリ内課金をした際に、サーバーサイドでの課金内容チェックをしたメモ。 Unity でのアプリ内課金には prime31 の iOS StoreKit In App Purchase Plugin を使用。 サーバーサイドは PHP を使用。 Unity 側 prime31 の iOS StoreKi…
Sprite sheet = Texture Type: Sprite かつ Sprite Mode: Multiple な画像 // Sprite sheet から Sprite の一覧を取得する Sprite[] sprites = Resources.LoadAll<Sprite> ("SPRITE_NAME"); // Sprite を動的に変更する GetComponent<SpriteRenderer> ().sprite = sprites [0]; // Sp</spriterenderer></sprite>…
バージョン Unity 4.3 TexturePacker 3.3.4 TexturePackerImporter 3.3.2 Unity 側準備 任意のプロジェクトを作成 Asset Store から TexturePackerImporter をダウンロードしてインポート TexturePacker 側準備 TexturePacker をインストールして起動 画面右…
はじめに Unity, NGUI(v3.5.6), FacebookSDK, JSONObject がインストールされている環境で、Facebook のフレンドのプロフィール画像をダウンロードして表示したメモ コード /** * Facebook のフレンドのプロフィール画像を表示する * 任意のボタンのOnClick…
はじめに Unity の Android 用アプリ内課金プラグインとして実績のある prime31 の Android In App Billing Plugin を使って見たメモです。 公式ドキュメント URL https://prime31.com/docs#androidIAB メモ Google Developers にサインインしているアカウン…
はじめに Unity で NGUI(v3.5.6) と WWW を使って、ボタン押下時に HTTP 通信をする 準備 [NGUI] > [Create] > [2D UI] で NGUI の準備 アセットから "simple button" でボタンのプレハブを検索し、ヒエラルキーにドラッグアンドドロップ スクリプト作成 usi…
はじめに Unity で HTTP 通信をするには WWW クラスを使います。 コード 下記のスクリプトを任意の GameObject にアタッチして再生すると HTTP 通信が実行されます。 HTTP 通信をするメソッドの返り値の型を IEnumerator にするのと、そのメソッドを StartCo…
画像を変更する UISprite のアタッチされたオブジェクトの画像を変更する UISprite.spriteName に Atlas の Sprite 名を文字列で指定すると画像を変更することができます。 obj.GetComponent<UISprite> ().spriteName = "new_sprite_name"; ボタン画像を変更する UIBut</uisprite>…
2014/11/18 追記 NGUI v3.7.4 では(もっと前からかもですが) Atlas Maker にある New ボタンから新規作成できるようになっていたので、以下の手順は古いです。 はじめに Unity のGUI作成ツールアセットの NGUI v3.5.6 を使って、Atlas(複数の画像を1枚の…
はじめに Unity の GUI 作成ツール NGUI を使って、下からぴょこんと出てくるポップアップウィンドウを作ります。 Unity のバージョンは 4.3.4 で、NGUI は 3.5.6 を対象とします。 所要時間は10分程度です。 準備 NGUI をアセットストアから購入します。 プ…
// プレハブのUIオブジェクトをUIRootの子要素に追加して、、 GameObject label = NGUITools.AddChild (UIRoot, UILabelPrefab); // 表示位置を変更しようとすると、(19400, 19400, 0) とかになってびっくりした。 label.transform.position += new Vector3 …
はじめに Unity での時刻の処理は System.Datetime を使う 時刻の取得 // 現在時刻の取得 System.DateTime now = System.DateTime.Now; // 任意の時刻のDateTime取得(年、月、日、時、分、秒、タイムゾーン) System.DateTime date1 = new DateTime(2010, 8, …
はじめに Unity の GUI 作成ツール NGUI の v3.5.6 を使ってボタンを作ったメモ。 NGUI はバージョンによってUIとかが結構違ったりしているので、How to 記事を参照する際には注意が必要です。 購入 Unity のメニュー [Window] > [Asset Store] でアセットス…
はじめに Unity が入っただけの状態から Android 実機でアプリを動かすところまで試してみた。 所要時間 1時間程度 必要なもの mac or PC Unity Android 実機 手順 http://tech.gmo-media.jp/post/52903538536/create-android-game-with-unity これの通りに…
はじめに Unity が入っただけの状態から iPhone 実機でアプリを動かすところまで試してみたました。 所要時間 1時間半程度 必要なもの mac Unity iPhone 9000円弱 (iOS Developer Program 登録のため) 手順 流れとしては、1.iOSアプリを実機で動かすために手…
はじめに Unity で任意の直線上のオブジェクトのリストが欲しい場合は Physics.RaycastAll を使います これは任意の座標から任意の方向に光線を発射し、当たったオブジェクトを返してくれる的なものです コード // 任意の座標から任意の方向に光線を発射し、…
はじめに Unity で実行時にマテリアルを追加したい場合の対応方法です。 具体的にはプレハブは使い回したいが、特定の条件のときだけ画像を追加で貼付けたかったのでやってみました。 参考URL http://answers.unity3d.com/questions/26640/adding-a-new-mate…