月別アーカイブ: 2013年4月

[Unity]タッチとクリック併用例

[wp_ad_camp_1]

この記事[Unity]Touchクラスを使ってGameObject.transform.rotationをグリグリするをリライト。

適当なオブジェクトにアタッチするとタッチで動くようになる。
コードをC#にしてEditor時はクリックで、コンパイルしたらタッチで対応するように記述。

2013.5.1日追記::

  • どこをクリックしても動いてしまっていたのをオブジェクトに触れなければ動かない用に変更。
  • また、クリックいっかいじゃなくてボタンダウン中はずっと判定するように変更。

書き直したコード

古いコード

プログラミングC# 第6版
プログラミングC# 第6版
posted with amazlet at 13.04.30
Ian Griffiths Matthew Adams Jesse Liberty
オライリージャパン
売り上げランキング: 75,502

SVN or Git + Unity でやっておくこと

save prefabのショートカットキーを作成

prefabはApplyしてもファイルシステムへの保存が即時なされるわけではない。
変更後にすぐに git や Subversion にコミットしても変化が無かったり、空のプレファブをコミットしてしまったりで混乱を招くことがある。
これを回避するにはコミット前にUnityを終了する必要がある。
終了時に未保存のPrefabはちゃんとOS側のファイルシステムへ書き込まれる。

しかしそんなことを毎度操作してたら効率が悪いので特定のコマンドを実行するショートカットを用意する。

サンプル

      using UnityEngine;
      using UnityEditor;

      public class Util : Editor
      {
      #if UNITY_EDITOR
           [UnityEditor.MenuItem("Edit/SavePrefab %&s")]
           static void SavePrefab(){
                AssetDatabase.SaveAssets();
           }
      #endif
      }

gist

Menu Item のショートカットキー

ショートカットキーとして次の文字を特殊なキーの代わりに設定できる。
%#s で Command + Shift + s といった具合。

  • % : Command or Windows key
  • # : Shift key
  • &: Alt key

Unity Scripting Reference MenuItem

metaファイルの生成とPrefabデータのテキスト化

通常、Library下にUnityプロジェクト用ファイルが生成されるが、AssetServerを使うのでないのであれば、各Prefabに何がアタッチされているのかとか、インスペクタ上ではどんんあ値が入力されているか、とかはmetaファイルに格納される。このmetaファイルは各リソースファイルと同じところに置く必要がある。

これをしないとコミットしたプレファブのインスペクタが初期値(コードで指定した値)になる。

metaファイルの生成方法は次の通り。

Edit -> Project Settings -> EditorでInspector上にEditor Settingsが表示される。
この VersionControl の項目を MetaFiles にし、AssetSerializationForce Text にする。

これでprefabもTextベースになるのでDiffツール等で変更箇所が目視できるようになる。

Unityライブラリ辞典 ランタイム編

4月中に気になった本まとめ

[wp_ad_camp_1]

スマートフォンのためのUIデザイン  ユーザー体験に大切なルールとパターン
池田 拓司
ソフトバンククリエイティブ
売り上げランキング: 6,718

UI大事。

今現在読んでる本

スラスラわかるC# (Beginner’s Best Guide to Programmin)
岩永 信之
翔泳社
売り上げランキング: 228,840

こないだ読み終わった本。尼の評価は低いけど、個人的には知らなかったC#の側面が分かってよかったなぁと。
Unityでは.NET 3.5だから.NET5の話とかは知る由もないわけで。Unity使ってる人は読んどくといいと思う。

WEB+DB PRESS Vol.74
WEB+DB PRESS Vol.74
posted with amazlet at 13.04.29
井上 誠一郎 奥野 幹也 田中 慎司 西嶋 悠貴 伊藤 直也 登尾 徳誠 天野 祐介 後藤 秀宣 ヒノケン 近藤 宇智朗 近藤 嘉雪 渡邊 恵太 堤 智代 中島 聡 A-Listers はまちや2 川添 貴生
技術評論社
売り上げランキング: 356

通勤用に。

ゲームの作り方  Unityで覚える遊びのアルゴリズム
加藤 政樹
ソフトバンククリエイティブ
売り上げランキング: 5,883

あんまり目新しい事は書いてないけど、こういうときの実装はこうしたら良いよ、のサンプルが多いので経験値稼ぎとして良い本だと思う。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
Dustin Boswell Trevor Foucher
オライリージャパン
売り上げランキング: 2,055

再読した。

NGUI用にフォントテクスチャを作って表示するまで

[wp_ad_camp_1]

使ったツール

bmGlyph

作り方

流れ

  • bmGlyphをDL
  • ひらく
  • フォントを選ぶ
  • テクスチャ化したい該当文字を入力する
  • Publish!
  • Unityでフォントプレファブを作成する
  • UILabelで出してみる

使用するフォントの選択

日本語が使えるフォントと使えないフォントが入り交じっているが、表示用文字挿入カラム内に日本語を入力してフォントを選択することで、日本語フォントを内包するフォントを洗い出す事が出来る。
試用不可能な場合は画像の様に使用可能には見えなくなる。

bmGlyph

フォント一覧カラム内をアローキーで順繰りにしていけばプレビューに日本語が表示されるので、仕様可否が判別できる。
JapaneseFont
日本語が表示可能だとプレビューが変化する。

一つ注意をするとすれば、フォントを選ぶ際は最低限の文字列で行うべきだ。プレビュー作成にけっこうな時間を要してしまう。

必要な文字列の抽出

青空文庫のサイトで漢字の基準がまとまってUPされている。
青空文庫

ここから任意の基準の文字列をDLしてbmGlyphに記入する。

エラーが出る

suffixを記述しないとその旨のエラーが出る。
記述してもエラーが残る場合は、bmGlyphを再起動することで回避できる。
Error

NGUI Font Makerでフォントを作成する

bmGlyphで作成したテクスチャとテキストデータをドラッグしてフォントを作成する。
名前を新たにつけておく。
NGUI_FontMaker

Create the Fontをクリックしてしばらく待つとドラッグ元にプレファブが生成される。

UILabelに実際に文字を入れてみる

UILabelをアタッチしたオブジェクトに名前を入れる。

Test_UILabel

ちゃんと表示された。”晋弘”部分はフォントに無いので表示されない。

Test_UILabel2

このとき、UILabelのx,yのスケールはポイントを表すので画面サイズに対して何ポイントで表示させたいかでスケールを決める必要がある。
またUILabelには文字数の上限があって、1800文字程度入力すると表示がされなくなる。

よって、規約などの文字列がおおいものを一度に表示するのではなくて、複数のオブジェクトに分けるか、WebViewを出現させるスクリプトを仕込んで別アプリケーションで対応させるなどが現実的だ。

参考

iOSの画面をキャプチャする手段いくつか

[wp_ad_camp_1]

企業内でデバッグチームが組まれ、開発とデバッグチームが乖離している場合、バグチケットでの文章説明だけではバグの症状を伝えにくい事が多々ある。
その際は画面撮影等も有効な手段だけれども、動画が撮れるなら再現性が低いものでも確認がとりやすい。

そんな状況でiOSのキャプチャ方法はないものかとグーグル先生に聞いてみたところ、いくつか紹介されていたのでまとめておく。

元ネタはこちら

スクショとりまくる

スリープボタン+ホームボタンでスクショが取れる。
けど10秒以上押すととリセットなので注意。

キャプチャ機能のあるアプリ

Screenchomp
Explain Everything
ShowMe,
Replay Note
Doodlecast Pro
Educreations

画面をデジカメ等で撮影する

完全にネタ。

Reflectorを使う

これが一番現実的かと。
Reflectorというアプリをキャプチャする側にインストールすることで無線で描画内容を取得できるようです。
Win/Mac両対応。

キャプチャした後

WinならBandicam
MacならQuickTimesで表示されている内容を保存可能。

参考