青空の月

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

c#

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

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

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

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

数学関数をUnityで扱う

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

TlsExceptionを解消

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

TypeLoadExceptionに遭遇した

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

UnityのC#とPHPで暗号化・復号化してみる

Unite Japanみたいにソースをまるごと暗号化してメモリ内で復号化して使うみたいな暗号化はAndroidしか使えないし、やる気しないけど普通にUnityで暗号化したい時もあるのでちょっと試してみた。 PlayerPrefsだと暗号化されずにそのまま保存されるので、念の…

enumの値をランダムで取得する

enumの値をランダムで取得する方法。 C#のLinqを使ってランダム取得する。結構、汎用的に使えそうなのでUtilityクラスにでも入れとくといいかも。 using UnityEngine; using System.Collections; using System.Collections.Generic; using System; using Sys…

GameObjectにコメントを残す拡張

GameObjectにコメントを残すサンプル。みんな何かしらコメント残せるようにしてるとは思うけど。 ObjectComment.cs using UnityEngine; public class ObjectComment : MonoBehaviour { #if UNITY_EDITOR public string comment = ""; #else #endif } ObjectC…

「is assigned but its value is never used」の表示を消す

変数を宣言して使用しなかった時にコンソール上にwarningとして表示される「is assigned but its value is never used」系のログを非表示にする方法。 ソースの先頭に #pragma warning disable 0414 と加えるだけで表示されなくなる。最後の数字はコンソール…

Unityでグローバルな定数を使用したい

Unityでこんな事をやりたい。 #if MY_DEBUG_MODE //デバッグ処理 #endif 開発してる時は有効でリリースでは含めたくない処理なんかは良くあることだと思う。 1ファイル内だけなら #define MY_DEBUG_MODE とファイルの先頭で宣言すればいいけど、そのファイ…

Tag名やScene名を自動で定数化する

タグ名やScene名を文字型で扱わなきゃいけないので、 名前に変更があるとスクリプトで困るので定数化したい。こちらのスクリプトが参考になった。https://gist.github.com/anchan828/3cf9014a8493ab023925https://gist.github.com/anchan828/4243887 注意点…

オブジェクトの階層を全て広げる

階層が深くなってしまった場合、 アイテムを全て開げるときにALTボタンを押したままにすると、 ネストされた階層も強制的に全て広げる。 http://gamesonytablet.blogspot.jp/2012/09/unity-wiki181.html

ケリ姫スイーツみたく背景を動かす

renderer.material.SetTextureOffseを使うと簡単に実装できる。http://docs.unity3d.com/Documentation/ScriptReference/Material.SetTextureOffset.html using UnityEngine; using System.Collections; public class example : MonoBehaviour { public floa…