この記事はさいたまげーむす Advent Calendar 2016 && Visual Studio Advent Calendar 2016 11日目の記事です。
ここでは、Unityでゲーム開発(C# + ShaderLab)をするうえで便利なVisual Studioの拡張機能を紹介していきます。
続きを読むこの記事はさいたまげーむす Advent Calendar 2016 && Visual Studio Advent Calendar 2016 11日目の記事です。
ここでは、Unityでゲーム開発(C# + ShaderLab)をするうえで便利なVisual Studioの拡張機能を紹介していきます。
続きを読むこの記事はさいたまげーむす Advent Calendar 2016 10日目の記事です。
開発に必須のGit。ゲーム開発ではリソースが大きいことからリポジトリのサイズが肥大化しがちです。リポジトリのサイズに制限をかけているサービスも多く、例えばBitBucketでは2Gを超えると問答無用でプッシュを受け付けなくなってしまいます。これを解決するのは結構しんどいです(体験談)
このような問題への解決策として注目を集めてきているGit LFS(Large File Storage)をご存知でしょうか。これは、ユーザー側で指定した拡張子を持つファイルを別サーバーに置いて、本線のリポジトリにはそのリソースへのポインタだけを持つことでリポジトリ本体のサイズを抑えるもので、無料で使えます(偉大な開発チーム様に感謝)。
続きを読むこの記事はさいたまげーむす Advent Calendar 2016 4日目の記事です。
UnityというよりはC#ですが…
string配列の0番目を除いた1番目以降を可変長引数のメソッドに渡し、それぞれの型を復元したいケースがありました。
このとき、一度 List<object>
に入れてから渡してしまうと、渡した先でstringへのキャストに失敗してしまうようです。
void Method1() { string line = GetLine(); // ファイルから読み込んだ内容の1行分と仮定(tsv) var items = line.Split('\t'); // 長さは不定 List<object> objects = new List<object>(); for(int i = 1; i < items.Length; i++) { objects.Add(items[i]); } Method2(objects); } void Method2(params object[] parameters) { // blah blah blah... }
本来はもともとstring
だったものはobject
型に格納されてもキャストすれば復元できるのですが、こうすると経由する過程で型情報が落ちてしまうのか、キャストに失敗します。
「俺は昔stringだった…。だがその記憶はもう失われてしまった…。今の俺はただのobjectさ。」
LINQを使い、line.Skip(1).ToArray();
とすることで解決しました。こうするとobjectを経由するのは引数に渡される1回のみですむためか大丈夫なようです。
というかそもそも自分のケースの場合、可変長引数である必要すらなく、string[]で十分でした!(下らないオチ)
object型には気を付けよう!
この記事は Unity Advent Calendar 2016 3日目の記事です
Unityは2つとも満員で、さすがに盛り上がってますねー。自分は普段縁がないようなWeb系やサーバーサイドのアドカレをぼんやり眺めるのが好きです。同じプログラミングでもかなり世界が違うものだなと感嘆します。
さてさて、Unity5.2で追加されたuGUIのScrollView。様々な手順が簡略化され、実用的になっていますが、そのままでは若干痒い所に手が届かないところがあります。ここでは、それらを解決する案を紹介しようと思います。
続きを読む