概要
本日は、Unityプロジェクト「Area2」において、LEDフローシェーダーの機能改善と管理システムの構築を行いました。具体的には、HDRP/LitベースのLEDフローシェーダーをShaderGraphとカスタム関数で再実装し、個別のLEDオブジェクトを制御するマネージャーシステムを構築。さらに、macOS公証済みビルドスクリプトの作成、Git連携、カーソルロック動作の改善、そしてGitHubリリースワークフローを自動化するCursorカスタムコマンドの実装まで、広範な作業を行いました。
作業内容
Area2
- Unity MCPツールへの接続を確立し、プロジェクト情報を確認した。
- HDRP/LitベースのLEDラインデータフローシェーダーをHLSLで実装し、指定オブジェクトに適用したが、ライティングの問題が発生した。
- HDRP/Litのソースコードを参考に、LEDパターンをEmissionに加算する形でHLSLシェーダーを再実装し、表示問題を修正した。
- メンテナンス性とHDRP/Lit機能維持のため、ShaderGraphとカスタム関数にLEDフローシェーダーを移行し、古いHLSLファイルを削除した。
- LEDオブジェクトを個別制御するための
LEDFlowManagerスクリプトを実装し、クリックでの開始・自動停止、キーボードでのトリガー機能を追加した。 - フローの停止ロジック(ドットは最後まで流れ切る)と開始ロジック(上端から順番に生成)をシェーダーで修正し、開始時のフリッカーを軽減した。
- メッシュの長さに応じてフロー速度を調整する機能の実装を開始し、UV.yベースのパス長計算ロジックとカスタムエディタボタンを追加した。
LEDFlowManagerに複数オブジェクトを一括登録する機能と、ランダムなインターバルでLEDを自動トリガーする機能を追加した。- macOS向け公証済みビルドスクリプト(
build-macos.sh)を作成し、ProjectSettingsの更新、証明書設定、公証、Git連携(バージョンバンプ、タグ作成)を自動化した。 StarterAssetsInputs.csを修正し、カーソルロック動作を「デフォルトアンロック、クリックでロック、Escで解除」に変更した。- アプリ名を
Area2Simに変更し、バージョン情報を含む配布用ZIPファイルを自動生成するようにビルドスクリプトを修正した。 - GitHubリポジトリの設定を行い、リリース手順をGitHub CLI (
gh) と連携させ、自動リリースを行うCursorカスタムコマンド(/release)を作成・実行した。
Generated by ccdiary