2025-04-01から1ヶ月間の記事一覧
Unityで「マリオのようなジャンプ」を再現する方法について解説します。 マリオシリーズのジャンプは、普通のジャンプと比べて非常に気持ちよく設計されています。 その秘密は、ジャンプ中・落下中で重力を動的に変化させている点にあります。 なぜ普通のジ…
この記事では、Stochastic Tri-Planar Mapping(確率的トライプラナー・マッピング)の仕組みについて解説し、作成したShaderGraphを共有します。 Tri-Planar Mappingとは? 通常のテクスチャマッピングでは、メッシュに対して1つのUVセットを使用しますが、…
「UV展開めんどくさい…」「地形に自然にテクスチャ貼りたい!」 そんなときに便利なのが Bi-Planar Mapping(バイプラナーマッピング)。この記事では、GitHubに公開されているShaderGraphを使って、UnityでBi-Planarシェーダーを実装する方法を紹介します。…
Unityで日本語の形態素解析を行うために、 軽量・簡単に使える NMeCab を導入してみました! この記事では、 NMeCabの導入方法 Unityへの組み込み手順 メソッド別の解析サンプル をまとめています! NMeCab導入手順 1. DLLファイルをダウンロード まず、NMe…
ShaderGraphのCustomFunctionNodeに使うHLSLファイルを書くとき、毎回ちょっと迷うので、自分用メモとしてサンプルを残しておきます。 テクスチャを読み込んで色を返す関数 テクスチャのUV座標に応じた色をサンプリングして返す、基本的な関数です。 HLSLの…
UnityのUniversal Render Pipeline(URP)のサンプルプロジェクトなどを見ていると、 Graphicsに設定されたURP Assetとは異なるURP Assetがシーンごとに使われているケースがあります。 「えっ?URP Assetってプロジェクト全体で1個じゃないの?」と思うかも…
Unityでゲーム開発をしていると、「ビルドサイズがでかすぎる!」という壁にぶち当たること、ありませんか? 特にTextMeshPro(TMP)を使っていると、Prefabごとに同じフォントアセットが複製されてしまい、ビルドサイズが爆増するという現象が起きがちです…
こんにちは!今回はUnityで任意の3Dオブジェクトをメッシュ単位でリアルタイムにカットする処理を実装してみました。この記事では、その仕組みやコードのポイントを解説していきます。 ソースコードは記事の最後に掲載していますので、ぜひ最後までご覧くだ…
UnityのTextMeshPro(TMP)には、ユーザーの入力を制御するための便利な仕組みがあります。 そのひとつが TMP_InputValidator です。 TMP_InputValidatorとは? TMP_InputValidator は、TMP_InputField に入力された各文字を検証し、入力を許可するかどうか…
2Dアクションゲームを作っていると、「ジャンプして下から通り抜けられるけど、上に乗るとちゃんと乗れる」みたいな壁(いわゆる“すり抜け床”や“片方向の足場”)が欲しくなること、ありますよね? Unityでは PlatformEffector2D という機能を使うことで、簡…
Unityで Physics.OverlapSphereNonAlloc() を使ってるとき、当たってるはずなのに当たらない、あるいは逆に当たってるはずじゃないのに当たるという現象に遭遇したことはありませんか? これは実はバグではなく、Transformと物理エンジン(Collider)の更新…