青空の月

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

UnityでプライベートIPアドレスを取得する

サーバーを使ったアプリなどを作っていると、ローカル環境に立てたサーバーに対して接続する時などがある。 IPアドレスを指定して接続したい場合、人によってIPアドレスが違うのでチームで開発していると何かと面倒なのでスクリプトからIPアドレスの取得を試…

販売者アカウントの設定がWebから設定できるようになっていた

Asset Storeで販売する用のアカウントの設定がWeb上からできるようになっていた。 今まではAssetStore ToolのPublisher Acountボタンから変更できた。 最近、Asset販売用の管理画面のInfoタブから変更できるようになってたみたい。

EidtorWindowのタイトルに好きなアイコンを付けてみた

「EditorWindowのタイトルにアイコンをつける」を見て、 EditorWindowに好きなアイコンを付けれるという事なので試してみた。 こんな感じになり、かなり見やすくなる。 「Assets/Editor Default Resources/Icons/」配下にタイトル名と同じ名前のpng画像を入…

外部のアセット、ライブラリは要注意

Unityのアセットとか便利だけど落とし穴もある。 アセットは汎用的というか自分のプロジェクト用に作られていないので変数のデータ型とかが用途と合っていない場合が出てくる。 このスクリプトを実行するとどうなるか。 処理の内容としては、string型の数値…

Unityプロライセンスか判別する

Unity Pro Licenseを持っている環境かをスクリプトで判別するのに Application.HasProLicense がある。 これはUnity4.1から追加された。 以前ならRenderTextureを使ってProか判別してたけど、Unity標準機能で判別できるようになってた。 でも使う機会ってあ…

Unityに負荷をかける

Unityで負荷かけたいと言われちょっと調べたけど見当たらなかったので試しに作ってみた。 Unityは非同期処理のコルーチンとかあるけど、Unityはシングルスレッドなのでコルーチンももろにアプリに影響が出るので、別スレッドで処理させるようにもしてみた。 …

数学関数をUnityで扱う

数学関数をUnityで使う場合、C#のMathクラスから使うことができる。 もしくはUnityが用意しているMathfを使用することができる。 ちなみに、数学関数には累乗、平方根、三角関数など高校の数学で出てくるような数式を扱うものがある。 UnityではMathよりもMa…

シーンをメニューから素早く開く機能を自動化するEditor拡張

シーンをメニューから開く機能。メニューにシーンを追加するのも自動化してみた。 こんな感じにメニューに追加される。 メニューからも再作成できるけど、InitializeOnLoadで自動で更新される。

Unity4.2が公開

更新内容は既に公式サイトに日本語でも載っているけど、420点も変更点があるみたい。読むだけでも結構、大変な量だ。 「けいごのなんとか」さんで変更点のトピックをまとめてくれているのでこれを見るだけでもバージョンアップしたくなる。 変更点のトピ…

【GAE】 taskqueueからbackendsで動作させる

GAE

Google App Engineでバックグラウンドで処理をさせようとした時に色々迷ったのでメモ。 言語はPythonでtaskqueueを使用してバックグラウンドで処理させる。 まず、backends.yamlを用意する。 backends.yaml backends: - name: backends_name class: B1 insta…

見てわかるUnityゲーム制作超入門

見てわかるUnityゲーム制作超入門 新しく発売されたUnity書籍を買ってみたので、その感想。 見てわかるUnityゲーム制作超入門 (GAME DEVELOPER BOOKS)作者: 掌田津耶乃出版社/メーカー: 秀和システム発売日: 2013/06メディア: 単行本この商品を含むブログを…

マージを手伝ってくれるアセット。 Unity Merge

気になるアセットを見かけたのでメモ。 Unityでオブジェクトをマージするアセット。「Unity Merge」 ちょっと見た感じだと、マージしてくれるというよりも、オブジェクトの差分を見やすくしてくれるのとパラメータの入力を補助してくれるってところなのかな…

TlsExceptionを解消

HttpWebRequestを使用している箇所でこんなエラーが出る時があったので、その解消法をメモ。 Mono.Security.Protocol.Tls.TlsException: Invalid certificate received from server. Error code: 0xffffffff80092012 at Mono.Security.Protocol.Tls.Handshak…

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を使うだけでできる。レイアウトは自由に変えられないけど単純なものならコレで十分かな。