UnityのAnimatorは使いづらい Unityでアニメーションの遷移とかの管理、何を使っていますか? 公式はAnimatorControllerを使うように言ってきますし、Unity初心者講座とか見てもそう言ってます。 が、アニメーションが4つ5つ出てきたあたりから管理が怪しく…
Addressable Asset Systemをそろそろ理解したいのだが、その前にAssetBundleのベストプラクティスを考える前提知識を整える必要がある。 AssetBundleにはいくつか利用方法(読み込み方法)があるようだが、それぞれ特徴があるようなので確かめてみる。 Asset…
与太話 .NETのクラスライブラリ設計を読みました。 www.amazon.co.jp これは改訂版で、僕は改訂版で初めて読みました。 改訂前の本は10年ほど前に出ているようで、若干古い言及もあるのですが、良い本でした。 すごいテクニックが沢山! というのではなく、…
SOLID原則 ja.wikipedia.org オブジェクト指向プログラミングにおいて重要な5つの原則をまとめて言ってみたもの。 S = 単一責任の原則 O = 開放閉鎖の原則 L = リスコフの置換原則 I = インターフェース分離の原則 D = 依存性逆転の原則 そんなの知ってるよ…
Unity公式ローカライズ用パッケージが 出たぁ~~~!!(結構前) www.youtube.com あんまり個人製作でローカライズはしないと思うんですが、仕事だとかなりありがたい。 (ボタンのラベルとか、ロジックにな~んにも関係無いテキスト表示をコードで制御した…
List.ForEach()よりはforeachループ、 Listのforeachループよりはforループ、 foreach回すだけならToListしなくても、 といったことは知ってますが、実際のところどのくらいどれが有利なの?というのをちゃんと知っておかないと、他人に説明できなくて困る。…
まだ全然調査しきれてないので、ちょっと触った感じ、こういう認識でいいのかなぁ、というお話です。 VContainerについて github.com light11.hatenadiary.com - VContainerとは、導入しやすい、わかりやすいDIコンテナです。 - DIコンテナとは、色んなとこ…
UIElementsとUIBuilderについて まずはUIElementsとUIBuilderについて軽く触れておきます。 Unity2019.1から新しく導入されたUIElementsについて。 簡単に使い方やどんなところが良さそうなどメモっておこうと思います。 UIElementsのいいところ 見た目をす…
先日投稿いたしました、こちらの記事の補足、というか余談です。 nigiri.hatenablog.com Unityのアセット、シーンやプレハブ、ScriptableObjectはyamlファイルとして保存されています。 SerializeReferenceを用いた場合、yamlファイルはどうなっているのでし…
Unity2019.3から使用可能なSerializeReferenceと、 docs.unity3d.com 下記で公開くださっているSubclassSelectorがすっごい便利でしたので布教したくなりました。 github.com SerializeReferenceについても素晴らしく丁寧な説明をしてくださっています。 lig…
小ネタです。(言語をちゃんと理解してる人には当たり前の話です。) transform.position.x = 1f; Unityを使い始めの頃、だれしもこんなコードを書いたことと思います。 そしてエディタに怒られたことでしょう。 これを解決するために、 var newVec = new Vect…
小ネタです。 [SerializeField] private Button button; button.onClick.AddListener(callback); ButtonのonClickにはスクリプトからコールバックを登録できます。 そして、 button.onClick.RemoveAllListeners(); スクリプトから、登録したコールバックを削…
簡単にレイマーチングのやり方を学んだので、試してみるのに丁度よさそうなメタボールを書いてみました。 参考にしたのはこの2つのページです。 techblog.kayac.com yagiri000.hatenablog.com 3D化しただけです。 うーん…… 何かに使える気はしないけど楽しい…
MyClassというクラスがあったとします。 普通、MyClassのインスタンスを生成したければこうです。 MyClass instance = new MyClass(); さて、C#は型がガッチリ決まっているのが素晴らしいところだとは思うのですが、それが困るケースもやはりあります。 他の…
すごくジオメトリシェーダのサンプルっぽいものができました。 まずジオメトリシェーダの説明をします。 Wikipedia曰く、ジオメトリシェーダとは 頂点シェーダーの後に実行され、プリミティブ全体または隣接したプリミティブの情報を持つプリミティブを入力…
シェーダで実装できたー! この動画は単なるPlaneを割ってるだけですが、画面遷移時にRenderTextureを使ってPlaneのテクスチャとしてその瞬間を張り付けて割ってやれば完成なんじゃないかと思います。 今度コード上げます。 人様に見せられるコードにしてか…
Unityでのシェーダを勉強中なので、備忘録も含めて学んだことのメモです。 シェーダは何から勉強したらいいのかわからないとよく言われ、事実僕もちょっと前まで何の知識も無かったので、そこからどうやって勉強したのかとか、初心者目線で書ければいいかな…
シェーダを触ってみたかったので簡単に勉強してみました。 その過程でとても参考になったページがこちら 3Dメイン nn-hokuson.hatenablog.com 2Dメイン docs.google.com シェーダは見た目のお話なので、やっぱり実際に動かしてみるのが楽しい。 これらは実サ…
さて、僕はUnityを仕事で使っているのである程度扱うことができます。 さらにSteamでVRゲームをするためにHTC Viveを持っています。 となれば自分でもちょっと作ってみたいなぁと思うのは必至。 SteamVR Pluginを導入し assetstore.unity.com とりあえずVR用…
UnityのBuildSettingを見るとCompressionMethodというものがあります。 これはアプリに含まれるリソースを圧縮してくれる設定で、配信できるサイズが制限されているスマートフォン用アプリだとありがたい設定、のように思います。 が、実はここには罠があっ…
Unity2017から導入されたSpriteAtlasという仕組み。 これは、複数の画像を一つの大きな画像にまとめて、描画命令を少なくしてパフォーマンスに貢献するための仕組みです。 詳しくはこれらを読むとわかりやすい。かも。 tsubakit1.hateblo.jp kan-kikuchi.hat…
慣れないうちは技術ブログっぽいことを目指しても難しいなぁと思う今日この頃。 2,3本、実用できなくもないものを上げましたが、書くのに想像以上の時間がかかってしまっています。 コンスタントに更新してきたい気持ちがあるので、これからは簡単めな記事に…
Unityの適当なシーン(.unity)やプレハブをテキストで開いてみると、 m_Script: {fileID: 何らかの数字列, guid: 何らかの文字列, type: 3} こんな行が見つかるはずです。 「テキストファイルで開く」ができない場合は Edit -> Project Setting -> Editor -> …
私は普段仕事でも趣味でもUnityを使っているので、基本的に用いる言語はC#です。 ゲームプログラミングで重要なのはやはり速度ですが、複数人で開発したり長期的に改修が続く場合は可読性も大切です。 Unityでは読みやすいC#でプログラミングして、それが最…
初めまして。荷桐といいます。 4年ほど前から別のブログでどうしようもない記事を書いたりしてたんですが、 年月を経て結構自分の立場とか環境も変わったり なんやかんやあって新しくしました。 軽く自己紹介と、どういうこと書こうと思ってるかとか書き残し…