Unity

【Unity】PlayerLoopのタイミングをシリアライズしてInspectorから指定

PlayerLoop便利です。昔はイベント拾うためだけのMonoBehaviourを生成したりしてましたが、もう要りません。 tsubakit1.hateblo.jp UniTaskでもめちゃ使ってるようです。多分YieldやDelayの終了通知だと思う neue cc - C#のasync/await再考, タイムアウト処…

【Unity】クソ雑に使えるオブジェクトプール

Unityでエフェクトやらを出すときってオブジェクトをプーリングすると思います。 Unity向けのオブジェクトプールの実装はいろいろありますが、雑に拾って雑に返せるものを用意して使ってます。 コード クソ雑に使えるオブジェクトプール つかいかた プレハブ…

【Unity】.blendのインポート挙動を上書きするスクリプト

Unityは.blendのインポートに対応しています。 その挙動がUnityの仕様変更によって大破壊されてます。 キレちゃった。 何が問題なのか .blendをインポートすると従来は各Actionを別々のAnimationとしてインポートできてました。 好きな数だけAnimationClipを…

【Unity】数式からメッシュアセット生成くん

エフェクト作るときに単純なメッシュ形状を作りたくなることあると思います。 例えば円錐台とか… こういうシンプルなメッシュ達のためにfbxやその元ファイルを管理するのが面倒…というお気持ちがあります。 そこで、今回はC#の式を評価して簡単なメッシュを…

【Unity】ShaderGraph焼き込みくん

ShaderGraph便利ですよね。プロシージャルテクスチャみたいなこともできちゃいます。 「みたいな」と言ってるのはこれがテクスチャではなくGPUで生成されているからです。 ある程度複雑な処理だとテクスチャにしてサンプリングしたほうがマシな場合もあるで…

【Unity】なんでもReorderableList

Unity Editorではシリアライズされた配列のインターフェイスとしてReorderableListが使われている部分があります. これが便利なので全部ReorderbleListで編集できるEditor拡張を書きました. 面倒なのでAttribute等も用意せず無条件で置き換えます. ソース…

Shaderで顔を動かそう

久々の更新ですが今回はいつも以上に利用機会が少なそうな話です. 製作中のゲームでようやくキャラクタの表情を動かせるようになりました. ざっくり紹介します. つまりこれの続き friendsea.hateblo.jp Blend Shapeでの表現がちょっと難しかったので代わ…

uGUIの上で本をめくる

ゲーム内のUIで本をめくりたくないですか? 僕はめくりたかったんです. github.com 本みたいなUI 使い方 BookUI PageSelector BeseMeshEffectと頂点シェーダ テッセレーション 問題点 マウス/タッチで操作できない Maskを使えない 負のスケールを使えない …

2.5D Platformer Rails for Unity

前に2.5Dプラットフォーマー向けのキャラクター制御について紹介しましたが,扱いづらい点もありました. 動的に経路の追加・削除ができない GC Allocがデカイ これを直そうとしたら結局ほとんどを書き直すことになった. いい感じにコードを整理できてしま…

シーンからCubemap用テクスチャを作る

Unityで既存のシーンを撮影したcubemapを用意したい場合があります. 今作っているゲームでも遠景用のシーンを作って撮影してskyboxを作ってたりします. 今回はCamera.RenderToCubemapで作ったCubemapを1枚の画像に変換して保存するウィザードを用意しまし…

プロシージャルインタラクティブ草

Unity上で草を生やすシェーダを書きました. github.com コリジョンに応じて倒したり,草を刈ったりできます. 草を生やす Geometry Shader 草ポリゴン 密度を上げる 不揃いにする 風になびくようにする シェーディング 草を動かす 仕組み 草シェーダ 草マッ…