新アプリ「マスクカメラ」をリリースしました。
カテゴリー: Unity
【Unity】CustomShaderがAndroidで動かない
自作のカスタムシェーダを適用したときにPC上では動作するけど、Android実機で真っ黒になった。
しかし機種によっては正しく表示される。
これの対処法メモ。
【Unity】C#で数値変換
int, float, string の相互変換メモ。
Unity だと基本的に double は使わないけど大体 f を抜くだけで動く。
基本的にキャストは使わずに専用関数を使うべき。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
/* int,float -> string */ string s1 = 1.ToString(); // 1+"" でもOK string s2 = 2.5f.ToString(); // 2.5f+"" でもOK string s3 = 1; //コンパイルエラー(Cannot implicitly convert type `int' to `string') string s4 = (string)1; //コンパイルエラー(Cannot convert type `float' to `string') /* string -> int,float */ int i1 = int.Parse("1"); float f1 = float.Parse("2.5"); int i2 = int.Parse("1.5"); //ランタイムエラー(FormatException: Input string was not in the correct format) float f2 = float.Parse("2.5f");//ランタイムエラー(FormatException: Unknown char: f) /* float -> int */ int i1 = (int)1.8f; //1 : 切捨て int i2 = Mathf.CeilToInt(2.2f); //3 : 切り上げ int i3 = Mathf.FloorToInt(3.7f); //3 : 切捨て int i4 = Mathf.RoundToInt(4.5f); //4 : 四捨五入 x.5の場合は偶数になる int i5 = Mathf.RoundToInt(5.5f); //6 : 四捨五入 x.5の場合は偶数になる |
RoundToInt は若干変な動きなので気をつける。
Unityで作ろうとしたゲームの振り返り
これまで Unity で作ろうとしたゲームとその反省。
ブログに書いた Unity の記事内容はこういう感じで使われてる。
プロジェクト数は20くらいあるけど大体はすぐに作るのを止めたやつなので、それっぽくなるまで作ってしまったものを5つ振り返る。
【Unity】レーダーチャート作成の続き
多角形のメッシュを使ってレーダーチャートを作れたが、塗りつぶしではなくて線で表現したいこともある。
今回は多角形の線を引くための2つの方法を覚書。
1.線状のメッシュを使う
2.LineRendererを使う
【Unity】多角形のメッシュでレーダーチャート作成
多角形の描画は微妙だった。
そこで多角形のメッシュを使ってレーダーチャートのようなものを作ってみる。
【Unity】Texture2Dに多角形を描く
新アプリ「デコモジメーカー」をリリース
【Unity】Imageにテクスチャを設定する
スクリプトで Image に Texture2D を設定する方法メモ。
一番簡単なのは直接設定。
1 2 |
Image img = GameObject.Find("XXX/YYY/Image").GetComponent<Image>(); img.material.mainTexture = tex2d; |
これで問題ないはずだけど、何故かSpriteを設定していないImageのテクスチャが全て変更されました(Version Unity5.5.0f3)。
追記:これはデフォルトマテリアルを操作してしまうようです(コメント参照)
原因を探るのも面倒なのでちょっと変更してスプライトを変更するようにする。
1 |
img.sprite = Sprite.Create(tex2d, new Rect(0,0,tex2d.width,tex2d.height), Vector2.zero); |
これで意図通りに変更できた。