青空の月

Unity, C#, アプリ開発関連について。

unity

CodeGuardでEditor拡張系のDLLを難読化する

CodeGuardで自動的に難読化してくれるのは、ビルドで生成したDLLが対象なのでエディター系のDLLは難読化しない。 Editor系のDLLも難読化してくれるとAssetStoreで販売する時にすごい良いのに。 と思ってDocument見てたら。 メニューに「Guard Unity Project …

CodeGuardを使ってみた

どのタイミングで難読化するか、気になっていたけど。 ビルドした後に自動的に難読化してくれる。(PostProcessBuildを使用している) ビルドでTempフォルダに作成されるdllを難読化する。なのでスクリプトは影響は受けないし、C#でもUnityScriptでも難読化…

Unityで難読化する 「CodeGuard」

Unityでソースコードを難読化してくれるアセット。 「CodeGuard」 AndroidだとPro Guardとかあるけど、メンドイしAndroidだけだしと思っていたら5月くらいに難読化のアセットが出てたみたい。 しかもAndroidもiOSも対応してる。Proじゃなくても使えるし全環…

【Asset】ScriptDefineManagerリリースしました

「ScriptDefineManager」というAssetを新たにリリースしました。 どんなAssetかというと、PlayerSettingsの「Scripting Define Symbols」を管理するアセットです。 こんな画面で操作します。上部が現在の設定。下部で編集します。 プロファイルとして色んな…

Unityが標準で持っているアイコンを取得してみた

Unityが標準で持っている?アイコンを取得してみた。 EditorGUIUtility.Loadを使ってパスを指定してTextureを取得する。 Texture tex = EditorGUIUtility.Load("icons/d_BuildSettings.Android.png") as Texture2D; パスは公開されてはいないと思うのでUnity…

【Asset】Unity Extras Toolbar

「Unity Extras Toolbar」という無料のアセットが公開されたので試してみた。アセットの中身はスクリプト1つだけ。 このアセットの機能はPlayerSettingsとかちょっと開くのがめんどくさいリンクとかをまとめてボタンから開く事ができるよという機能になって…

TypeLoadExceptionに遭遇した

UnityでTypeLoadExceptionのエラーが出たのでその解決法をメモ。 TypeLoadException: Could not load type 'masa795.ScriptDefineMgr.ScriptDefineUtil' from assembly 'ScriptDefineManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. Asse…

画像の重なり状態を調べる

シーンビューのOverdrawモードを使用すると、画像の重なり具合を可視化して簡単に調べることができる。 無駄に画像が重なっていて、隠れているのにアクティブなオブジェクトを調べるときに役立ちそう。 シーンビューのOverdrawを選択。 NGUIのサンプルを可視…

ブックマークでUnityドキュメントの日本語/英語を切り替える

スクリプトリファレンスも徐々に日本語化され始めているので、以前ブックマークで英語ページと日本語ページを切り替えるソースを公開していた方がいたので改めて紹介。 Unityのオンラインドキュメントの日本語/英語を切り替えるブックマークレット 使い方は…

プリミティブオブジェクト(Cube/Sphere等)をスクリプトで作成する

meshとcolliderが付いた基本的なオブジェクトをスクリプトから作成する方法。 PrimitiveTypeを指定して作成するオブジェクトを決める。 GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Cube); スクリプトリファレンス http://docs-jp.unity3d.c…

MipMapsを視覚化して確認する

ミップマップがどんな感じになっているか視覚化して確認する方法。 シーンビューのMipmapsの表示はここで切り替えられる。(レンダーモード(Render Mode)) AngryBotsのある廊下を表示してみるとこんな感じ。Mipmapsモードでは描画密度が高いトコロが赤、低…

画像の詳細設定について

Unityでは画像の設定を用途に応じて細かく設定できる。画像を選択すればInspectorからImport Setttingsで編集できる。 できるだけ画像は綺麗に出したい、アプリの容量を抑えたい時はまず、ここの設定から見直すといい。 公式サイトのリファレンスに各項目に…

スクリプトからメニューアイテムを実行する

EditorApplication.ExecuteMenuItemを使うとEditorのメニュー項目を呼び出せる。 AssetStoreのWindow、NGUIのPanel Toolを表示するサンプル。 例 http://docs.unity3d.com/Documentation/ScriptReference/EditorApplication.ExecuteMenuItem.html

Unity AssetStore の最新リリースRSSのBot

@LatestAssetBot AssetStoreで新着情報がRSS配信されているけど、自分の使っているRSSリーダーだと「Unsupported Browser」扱いで見れなくて不便なのでBotを作ってみた。 http://u3d.as/feed/latest.rss を10分毎にチェックして新しいやつをつぶやくだけのBo…

【Asset】Layout Backupを出しました

「Layout Backup」というアセットを出しました。 シーンビュー、ヒエラルキービュー、プロジェクトビューなどの配置レイアウトをバックアップ・復元を補助するアセットです。 Unity標準機能と違ってリネームや複製とかもできます。Unity Basicが無償化された…

ボタンに画像を使う

ボタンに画像を使ってみる。 GUIContentを使えば画像と文字をボタン化できる。 ラベルが必要なければ、直接Textureを渡せばOK。 こんな感じのことが出来る。

TextFieldのラベルにアイコンを使う

TextFieldのラベルにアイコンを使うサンプル。 前回のファイルアイコンを取得するソースを利用して作ってみた。 こんな感じになる。 GUIContentを使うだけでできる。レイアウトは自由に変えられないけど単純なものならコレで十分かな。

Editor拡張でファイルアイコンを使う

エディタ拡張でファイルのアイコンを使いたい場合に便利な関数が用意されている。 AssetDatabase.GetCachedIcon(path) を使うと簡単に取得できる。 リファレンスには詳細が載ってないけど、Projectビューに表示されているのと同じアイコンが取得できるみたい…

EditorがPro用のskinか

Proライセンスを持っているとPreferences>GeneralでSkinをPro専用の「Dark」を選択できる。 skinで問題になってくるのはEditor拡張で色を設定する時にSkinがDarkとLightで文字の見え方がかなり変わってくる。Editor拡張は色の指定がちょっとメンドイ気がす…

Drag&Dropしたファイルの絶対パスを取得する

UnityEditorにはエディタ拡張で簡単にドラッグ&ドロップ使える機能が備わっている。 http://docs-jp.unity3d.com/Documentation/ScriptReference/DragAndDrop.html Unityの機能なのでAssetsフォルダ配下のものなら更に便利に使える。こちらのブログではInsp…

Unityで使用しているフォルダ一覧

Unityで使っているフォルダ、UnityのAPIで取得できるパスをまとめてみた。たまにフォルダを開きたくなる時があるのでこういうEditor拡張があると便利だと思う。AssemblyPathなんて使わないと思うけど。 思いついたフォルダはリスト化してみたけど、多分こん…

テキスト形式シーンファイルのフォーマット

Unity Proでは、テキスト形式で保存ができる。Editor SettingsのAsset SerializationでForce Textを選択するとテキスト形式で保存される。 テキスト形式で保存した時のSceneファイルはYAML形式になっている。公式サイトに詳しく載っている。 http://docs-jp.…

再生中にスクリプト編集しちゃった時に自動で停止させる

Unity Editor上でプレイ中にスクリプトを修正してUnityにフォーカスしてビルドが始まっちゃう→エラーになるって事をよくやってしまう。 自分はスクリプトを編集したら、再生ボタンを押して最初からやるので、どうせエラーになるならプレイ中にスクリプトをい…

LogcatViewer申請にかかった時間とリジェクト理由

今回、申請から販売開始までにかかった時間はこんな感じだった。 4/27(土)19:20 初申請 5/4(土)5:50 返信あり。キー画像に使用していたAndroid RobotがNG。 5/4(土)13:20 キー画像からAndroid Robot消して再申請。 5/8(水)7:30 審査OKのメールがきた。販売開…

LogcatViewer販売開始

AssetStoreで販売開始しました。 今回はAndroid向けのアセット。 実機でログを確認する時にEclipseを起動したり、コマンドラインでSDKの機能を使うと思いますが、それをUnityで確認するアセットです。 名前はそのまんま「LogcatViewer」です。無くてもいいけ…

Unityロゴの使用ガイドライン

identity.zip Unityのロゴを使用したい場合、公式でどうなってるかググったけど、サイト上には見つけられなかったけど、フォーラムの質問でUnityのクリエイティブプログラマーが回答していたので、コレを読んで許可範囲内で使えば良いみたい。 ロゴ自体を変…

AssetStore販売についてリンクまとめ。

01.Asset Storeで販売する前に知っておくこと 公式のガイドラインについて。 02.Asset Storeアカウント作成 「Asset Store Tools」をインポートして、AssetStoreアカウントの作成。 03.販売者アカウント(Publisher Account)の設定 販売者情報の設定。 04.Ass…

AssetStore審査結果(落ちた)

審査結果はメールで届くみたい。 今回はこんな文面のメールが届いた。 Hi there, Thanks very much for your submission to the Asset Store. Sorry, we cannot accept this without documentation. Kind regards, The Asset Store Team NGの理由はドキュメ…

Asset販売用の管理画面について

販売用の管理画面について 販売用の管理画面のURLはこれ。AssetをSubmitする前に見れるようになっていたがSubmitするまでは特にやることも見るものもない。 https://publisher.assetstore.unity3d.com/ アセット登録画面のPreviewを押したタイミング、Submit…

Asset情報記入から申請まで

画像も作成したので、アセット情報を入力して申請する。 Description まず日本語で書いてそれをグーグル翻訳で英語にする。これが一番時間かかった。 英語にするだけでなく、英語にしたのを和訳して意味が分かるか確認すると良い気がする。 記述方法はアセッ…