nirasan's tech blog

趣味や仕事の覚え書きです。Linux, Perl, PHP, Ruby, Javascript, Android, Cocos2d-x, Unity などに興味があります。

Unity

Unity でネイティブプラグインを使って ActivityIndicator の画像変更と画面中央での表示(iOS編)

はじめに Unity でネイティブプラグインを使って ActivityIndicator の画像変更と画面中央での表示(Android編) - nirasan's tech blog にひき続いて iOS 編 基本的に http://tsubakit1.hateblo.jp/entry/2014/08/19/010141 こちらのとおりです。 iOS 側の…

Unity でネイティブプラグインを使って ActivityIndicator の画像変更と画面中央での表示(Android編)

はじめに Unity で OS ネイティブの読み込み中アニメーションを表示するメソッドとして Handheld.StartActivityIndicator がある。 これは Android では画面左上に表示されてしまうので、画面中央に表示させられるようにネイティブプラグインを作ったメモ。 …

NGUI の UITweener の Animation Curve に任意の曲線を設定する

はじめに Unity + NGUI で TweenPosition や TweenAlpha などの UITweener を継承したコンポーネントで Animation Curve の曲線をプログラムから設定する方法についてメモ。 バージョン Unity 4.6.1f1 NGUI 3.7.6 設定方法 Animation Curve の曲線は Animati…

NGUI で UILabel の文字量に従って縦幅だけ変動させるスクリプト

using UnityEngine; using System.Collections; /// <summary> /// UILabel の横幅を固定して text に従った縦幅に設定するスクリプト /// </summary> public class UILabelHeightFitter : MonoBehaviour { /// <summary> /// リサイズ対象の UILabel /// </summary> public UILabel label; private…

NGUI の ScrollView で気持ちのいいスクロールを実装する

気持ちが良いスクロールとは? 今回は「ちょっとスワイプするだけで次の要素にスッと切り替わる」ものを実装する。 バージョン情報 Unity 4.6.1f NGUI 3.7.6 ヒエラルキー UI Root ScrollView Grid ScrollView の作成 メニューの [NGUI] > [Create] > [Scrol…

Unity Ads 導入メモ

やったこと Unity Ads のサイトにアカウント登録 Unity Ads でアプリの登録とID取得 Asset Store から Unity Ads のインポート 広告の呼び出しスクリプトの作成と実行 参考サイト 最初の3つは http://qiita.com/hiroyuki7/items/ac607e3df11101b0c90a を参考…

Unity でユーザーデータをJSONにシリアライズして暗号化して保存する

はじめに Unity でユーザーのデータを保存したい場合、最も手軽なのは PlayerPrefs だが、List が使えなかったり平文だったりして不便な面もある。 今回はユーザーデータを LitJSON でシリアライズして、永続データ領域に保存。保存時に暗号化、読み込み時に…

2D Roguelike を試してみて使いまわせそうなイディオム

はじめに Unity のチュートリアル 2D RogueLike が気になったので、試してみて使えそうなイディオムをいくつかメモ。 ゲーム自体は、矢印で移動、移動する毎にfood減少、アイテムでfood増加、敵の攻撃でfood減少、階段で次の階へ、アイテム・壁・敵は階ごと…

Unity で iOS ビルド時に Framework の自動追加・画像の自動追加・任意のファイルの登録・URL Scheme の設定をする

はじめに Unity で PostprocessBuildPlayer を使ってタイトルのようなことをする。 掲載のコードはGAMEFEATのSDKを組み込んだときのもの。 ruby から XCode を操作する gem のインストール http://starzero.hatenablog.com/entry/2014/02/18/163330 を参考に…

Unity で Parse Config を使いアプリの設定をリモート管理する 〜 例えば審査中だけアプリの挙動を変化させる

はじめに Parse.com の Parse Config を使うと、アプリの設定を手軽にリモートで管理することが出来、例えば審査中だけ特定の GameObject を表示させないなどの処理が書きやすくなります。 Parse Config は単純なキーバリューストアで、以下のような型が扱え…

NGUI の ScrollView 内のアイテムをドラッグアンドドロップで並び替える

はじめに Unity + NGUI 環境で ScrollView 内のアイテムをドラッグアンドドロップで並び替えられるように 構成 ゲームオブジェクトの親子関係とアタッチするコンポーネント Scroll View (UISCrollView, UIDragDropRoot) Grid (UIGrid) Item (BoxCollider, UI…

Voxel モデルを作って Unity で使ってみた

Voxel とは volume のある pixel ということで、3D のピクセルアート的なもののことだそう。 http://ja.wikipedia.org/wiki/%E3%83%9C%E3%82%AF%E3%82%BB%E3%83%AB Voxel モデルを作るには Qubicle というソフトを使って Voxel を作成し、Qubicle の Unity …

UnityでAndroidとiOSのアプリ間連携機能を使ったシェア機能の実装

はじめに Unityでアプリ間連携機能を使ったシェア機能を実装します。 Androidでは暗黙的インテントを、iOSではUIActivityViewControllerを利用します。 Unityでのシェア機能実装 任意の処理から下記スクリプトのShareメソッドを呼び出しシェア機能を起動しま…

NGUI でインターネット上の画像を表示するには

WWW で画像を読み込み、UITexture で表示する。 サンプル 以下のスクリプトを任意のオブジェクトにアタッチして実行する。 using UnityEngine; using System.Collections; [RequireComponent(typeof (UITexture))] public class LoadTextureFromWWWSample : …

NGUI で ScrollView の描画順を調整する

NGUI で ScrollView の描画順を調整するには ScrollView オブジェクトに UIScrollView と一緒にアタッチされている UIPanel の SortOrder と Depth の値を変更する。 SortOrder はおおもとの描画順で、Depth は同一 SortOrder の要素同士の描画順を指定する…

Unity + NGUI + iOS でも Atlas のテクスチャサイズが大きすぎるとやっぱり死ぬ問題

はじめに 前回と同じアプリをiOS環境でビルドしようとしてエラーが発生した件。 Unity + NGUI の環境で iOS のビルドをしようとしたとき、4096x4096 のテクスチャを使った Atlas を2枚があるとエラーが発生してビルドできない。 エラーメッセージ 以下のよう…

Unity + NGUI + Android で Atlas のテクスチャサイズが大きすぎると死ぬ問題

はじめに Unity + NGUI の環境で Android 実機で起動したとき、4096x4096 のテクスチャを使った Atlas を2枚使おうとすると再起動がかかる。 エラーメッセージ 以下のような感じで android.os.DeadObjectException とかいうのが出る。 W/InputMethodManagerS…

Unity で iOS 実機だと Update 中に GetComponent するとたまに一瞬固まる問題

問題 題名の通り。 Unity Editer や Android で動かしている分には気がつかなかった。 同じ処理でも固まったり固まらなかったりする。初回はだいたい固まるのでキャッシュしてくれているのか。 対策 問題の箇所では Prefab を Instantiate して、作成した Ga…

NGUI の UIScrollView で1要素分スクロールさせるスクリプト

はじめに Unity の NGUI で UIScrollView を使うと、要素を列挙してスクロールして表示させるようなパーツが簡単に実装できます。 列挙する要素に UIDragScrollView コンポーネントをアタッチすると、ドラッグでスクロール可能ですが、今回は1要素分だけ進…

Unity で Google Analytics を使う

はじめに Unity で Google Analytics を使ってログ集計をする。 http://qiita.com/yimajo/items/0861a79e741cbd463179 こちらのサイトを主に参考にした。 Google Analytics の Unity 用プラグインのβ版が公式から出ているが、なんかうまくログを送信できなか…

Unity + NGUI でスワイプをしたときに処理を実行するスクリプト

はじめに Unity + NGUI でスワイプしたときに処理を実行するスクリプトを実装したメモ。 スワイプ終了時と、上下左右のスワイプにそれぞれひもづけて、実行するメソッドを登録できる。 スワイプしたときに処理を実行するスクリプト Collider のアタッチされ…

Unity で Parse.com を使う - オブジェクトの CRUD 編

参考サイト https://parse.com/docs/unity_guide 登録 GameScore クラスのオブジェクトを作成する // オブジェクトの作成 ParseObject gameScore = new ParseObject("GameScore"); // カラムにデータの登録 gameScore["score"] = 1337; gameScore["playerNam…

NGUI の UIGrid で Sort をカスタマイズする - 名前の降順・名前を数字で評価して降順

はじめに Unity の NGUI でリストを表示するとき、UIGrid を利用すると簡単に実装できる。 Sort 順を既存の "追加順の昇順(None)"、"名前の昇順(Alphabetic)" 意外にしたい場合に対応したメモ。 並び替え評価用の関数を宣言する UIGrid.cs にある既存の並び…

Unity で二つの値の間を行き来する値の取得方法2種類

Mathf.PingPong t を基準にして 0 から length までの値を返す 返り値の例 Debug.Log (Mathf.PingPong(0f, 3f)); //=> 0 Debug.Log (Mathf.PingPong(0.5f, 3f)); //=> 0.5 Debug.Log (Mathf.PingPong(1f, 3f)); //=> 1 Debug.Log (Mathf.PingPong(2f, 3f)); …

Unity でマスターデータを Excel で管理する

はじめに Unity-Excel-Importer-Maker というライブラリを使用して、Unity でマスターデータを Excel を使って管理する方法を確認したメモ。 Unity-Excel-Importer-Maker のインストール https://github.com/tsubaki/Unity-Excel-Importer-Maker から "Downl…

Unity & NGUI でタッチやスワイプのイベントを取得する

はじめに Unity & NGUI で、パズドラやポコパン的な、オブジェクトを選択してなぞるアクションをした場合のイベント取得方法をまとめました。 コード UISprite と Box Collider と下記のスクリプトをアタッチしたゲームオブジェクトを、複数個シーンに配置し…

Unity に nend の広告を組み込む - iOS 編

はじめに Unity に nend の広告を組み込む - Android 編 - nirasan's tech blog が終わっている前提で、iOS での広告表示を行います。 iOS アプリ作成 apple の開発者サイトの Member Center から、Certifications, Identifiers & Profiles に移動 Identifie…

Unity で Android のビルドができない問題2件

はじめに Google Play Games パッケージのインストール後に発生? 1件目 エラーメッセージ Error building Player: Win32Exception: ApplicationName='/PATH/TO/ADT/adt-bundle-mac-x86_64-20131030/sdk/tools/zipalign', CommandLine='4 "/PATH/TO/PROJECT/…

Unity に nend の広告を組み込む - Android 編

nend への登録 http://nend.net/ から nend 上でアプリと広告枠の作成 nend のマイページから nend SDK の組み込み マニュアルの通り AndroidManifest.xml のひな形は /Applications/Unity/Unity.app/Contents/PlaybackEngines/AndroidPlayer からコピー 広…

Unity でドット絵画像がぼやけるの対策

対策 Unity の Sprite でドット絵を表示しようとしたところ、ところどころぼやけてしまう。 画像のインスペクターで "Format" を "Compressed" から "Truecolor" にしたら正常に表示されるようになった。 参考サイト http://answers.unity3d.com/questions/3…