Unity

【Unity2018】Entity Component System(ECS)とUniRx.Asyncを和解させる

問題点 ECSを使っているプロジェクトにUniRxをぶちこむと、ECSとUniRxのPlayerLoopが喧嘩してUniRxが勝ちます(ECSが動かなくなります) やはりECSでも(相性が良いかはともかく)Rxしたいので、UniRxを使う方法を探ってみました。

【Unity2018】Entity Component System(ECS)でZenjectを使う

突然ですが、皆さんECSでもDIしたいしRxしたいですよね?? ということでECSでもZenjectを導入してみました。 導入 いつもどおりSceneContextとSceneInstallerを作り、シーンに置きます。 Odinを入れてるのでインスペクタの見た目がちょっと違います!

【Unity2018】LWRP対応のGPU Instancingパーティクルを作る

概要 Unity2018にて、ScriptableRenderPipeline(SRP)を活用して作られた、Standard Shaderより軽量なLightWeightRenderPipeline(LWRP)が追加されました Surface Shaderが使えないため少し面倒ですが、内部のコードを引っ張ってきて拡張することで、LWRPでもG…

【Unity2018】 ShaderGraphで遊ぼう!その1

Unity2018で、ついにShaderGraphが追加されました。 ↓のような感じで、ノードを繋げることでデザイナーでもシェーダーを簡単に開発することができる機能です。 元々Unreal Engine 4などのHD向けのゲームエンジンではあった機能で、これと同じような機能を持…

SurfaceShaderで主線を描画する

概要 主線を表示し、エッジを強調するシェーダーをSurface Shaderで作りました。 主線に影は乗っていませんが、ライトの色を変更すると主線の色も変わるのがキモです。 仕組み 1パス目 普通にモデルを描画しています 2パス目 頂点シェーダーで少しだけ法線方…

【Unity】World空間で楽にCanvasのサイズを設定するためのエディタ拡張を作った

ことはじめ VRなどで、3Dの空間(World Space)でCanvasを使いたくなることはよくあると思います。 文字のサイズやSpriteなどはピクセル単位での指定となるため、実際の位置とピクセル空間での位置を二重で考えなければならず、頭がこんがらがります。 「なん…