Skip to content

Commit 00bd58a

Browse files
CA-Tatamiclaude
andcommitted
引き継ぎドキュメントを作成
- 10個の引き継ぎドキュメント(01-10)とREADME.mdを作成 - 冗長な記載を削減し簡潔化(約290行削減) - 不要なセクション削除(バージョン情報、お問い合わせ等) - 対象者:1名を想定した構成 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 01bc07f commit 00bd58a

11 files changed

Lines changed: 3805 additions & 0 deletions
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# NOVA Shader プロジェクト概要
2+
3+
## 1. プロジェクトの目的
4+
5+
NOVA Shaderは、Unityの**Universal Render Pipeline (URP)**向けに開発された多機能パーティクルシェーダーです。VFX制作でよく使用される機能を単一のシェーダーに統合し、高品質なエフェクト制作を効率化することを目的としています。
6+
7+
### 主な特徴
8+
9+
- **多機能統合**: Flow Map、Flip-Book、Dissolve、Fade、Rotation、Tint Map、Emission、Distortionなど、頻繁に使用される機能を1つのシェーダーに集約
10+
- **高いパフォーマンス**: GPU Instancingサポートによる効率的な描画
11+
- **柔軟なカスタマイズ**: 30以上の機能でCustom Coordシステムを活用した柔軟なパラメータ制御
12+
- **OSSとして公開**: MIT Licenseで無償公開、コミュニティからの貢献も受け入れ
13+
14+
## 2. 現在のバージョンとサポート環境
15+
16+
### 動作環境
17+
- **Unity バージョン**: 2022.3 LTS 以上
18+
- **レンダーパイプライン**: Universal Render Pipeline (URP)
19+
- **Shader Model**: 3.5以上
20+
- Mesh GPU Instancing使用時はShader Model 4.5以上が必要
21+
- Mirror Sampling使用時はInline Sampler States対応が必要
22+
23+
### 配布方法
24+
- **GitHub**: https://github.com/CyberAgentGameEntertainment/NovaShader
25+
- **Unity Package Manager (UPM)**: Git URL経由でのインストール
26+
```
27+
https://github.com/CyberAgentGameEntertainment/NovaShader.git?path=/Assets/Nova
28+
```
29+
30+
## 3. プロジェクトの歴史
31+
32+
### 主要なマイルストーン
33+
34+
- **2021年**: プロジェクト開始、初期バージョンリリース
35+
- **2022年9月**: Lit版(PBRライティング対応)リリース
36+
- CyberAgent Developers Blogで技術解説記事公開
37+
- **2025年5月**: RenderGraph対応実装(v2.7)
38+
- Unity 6対応を実現しつつ、Unity 2022.3との互換性を維持
39+
- SGE-CORETECH ENGINEER BLOGで技術詳細を公開
40+
- **2025年9月**: v3.3.1リリース(最新版)
41+
42+
### 技術的な進化
43+
44+
1. **Unlit版から開始**: 基本的な発光エフェクト向けシェーダー
45+
2. **Lit版追加**: ライティングや反射の影響を受けるメッシュエフェクトに対応
46+
3. **UI Particles対応**: uGUI上でのパーティクルエフェクトをサポート
47+
4. **最適化機能**: メモリ使用量を最大50%削減するOptimized Shader生成機能
48+
5. **RenderGraph対応**: Unity 6の新アーキテクチャに対応
49+
50+
## 4. シェーダーラインナップ
51+
52+
| シェーダー名 | 用途 | 特徴 |
53+
|------------|------|------|
54+
| **ParticlesUberUnlit** | 発光エフェクト | ライティングなしの汎用シェーダー |
55+
| **ParticlesUberLit** | メッシュエフェクト | PBRライティング対応 |
56+
| **ParticlesDistortion** | 歪みエフェクト | 画面に歪み効果を適用 |
57+
| **UIParticlesUberUnlit** | UI向けエフェクト | uGUI対応Unlit版 |
58+
| **UIParticlesUberLit** | UI向けエフェクト | uGUI対応Lit版 |
59+
60+
## 5. OSSとしての位置づけ
61+
62+
### オープンソース戦略
63+
64+
NOVA Shaderは、株式会社サイバーエージェントのゲーム事業部門「SGE (Supreme Game Entertainment)」に所属する**コアテク(Core Technology)チーム**が開発・保守しています。
65+
66+
#### OSS公開の目的
67+
68+
- **技術の社会還元**: ゲーム開発で培った技術をコミュニティに還元
69+
- **採用ブランディング**: 技術力のアピールと優秀な人材の獲得
70+
- **品質向上**: 外部からのフィードバックによる品質改善
71+
- **技術交流**: Unity VFXコミュニティとの技術交流促進
72+
73+
### GitHubでの運営
74+
75+
- **リポジトリ**: CyberAgentGameEntertainment Organization配下
76+
- **ライセンス**: MIT License
77+
- **Issue/PR対応**: コミュニティからの報告・貢献を歓迎
78+
- **ドキュメント**: 英語(README.md)と日本語(README_JA.md)の両方を提供
Lines changed: 211 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,211 @@
1+
# リポジトリ構造とアーキテクチャ
2+
3+
## 1. リポジトリ全体構造
4+
5+
主要フォルダ:
6+
- **Assets/Nova/**: UPMパッケージ本体(Runtime/Editor)
7+
- **documentation/**: 技術仕様書(AI向け英語)、handover/(引き継ぎドキュメント)
8+
- **CLAUDE.md**: AI開発支援設定
9+
- **README.md / README_JA.md**: プロジェクト説明
10+
11+
## 2. UPMパッケージ本体 (`Assets/Nova/`)
12+
13+
NOVA Shaderのコアパッケージ。Git URL経由でUnity Package Managerに配布される部分。
14+
15+
### 主要構成
16+
- **Runtime/Core/Shaders/**: シェーダーファイル群(Particles.hlsl, ParticlesUber.hlsl, 各種.shader)
17+
- **Editor/Core/Scripts/**: エディター機能(GUI, PostProcessor, CustomCoord, Optimizer等)
18+
- **package.json**: UPMパッケージ定義
19+
20+
### package.json
21+
22+
```json
23+
{
24+
"name": "jp.co.cyberagent.nova",
25+
"displayName": "NOVA Shader",
26+
"version": "3.3.1",
27+
"unity": "2022.3",
28+
"license": "MIT",
29+
"dependencies": {},
30+
"author": {
31+
"name": "CyberAgent"
32+
}
33+
}
34+
```
35+
36+
## 3. ドキュメント体系
37+
38+
### 3.1 技術仕様書 (`documentation/`)
39+
40+
**目的**: AI(Claude Code)が理解しやすい形式で技術仕様を記述
41+
42+
**言語**: 英語
43+
44+
**ルール**: `documentation/documentation_guidelines.md`に準拠
45+
46+
**主要ファイル**:
47+
- `CustomCoord_SystemArchitecture.md`: Custom Coordシステムの全体設計
48+
- `RandomRowSelection_Specification.md`: Random Row Selection機能仕様
49+
- `UIParticles_Limitations.md`: UIParticlesの制約事項
50+
- `TEXCOORD_Usage_Strategy.md`: TEXCOORD割り当て戦略
51+
- `FeatureSpecification_Template.md`: 機能仕様書テンプレート
52+
- `documentation_guidelines.md`: ドキュメント作成ガイドライン
53+
54+
**禁止事項**:
55+
- トラブルシューティングセクション
56+
- 実装チェックリスト
57+
- 更新履歴、日付、著者情報
58+
- バージョン追跡情報
59+
- デバッグ手順
60+
61+
### 3.2 ユーザー向けドキュメント
62+
63+
| ファイル | 言語 | 内容 |
64+
|---------|------|------|
65+
| `README.md` | 英語 | プロジェクト概要、インストール、使い方 |
66+
| `README_JA.md` | 日本語 | 同上(日本語版) |
67+
| `Assets/Samples/README.md` | 英語 | サンプルの説明 |
68+
| `Assets/Samples/README_JA.md` | 日本語 | 同上(日本語版) |
69+
| `Assets/Demo/README.md` | 英語 | デモの説明 |
70+
| `Documentation~/` | - | 画像、スクリーンショット |
71+
72+
### 3.3 AI開発支援設定
73+
74+
| ファイル | 目的 |
75+
|---------|------|
76+
| `CLAUDE.md` | プロジェクト固有のルール定義 |
77+
| `.claude/CLAUDE.md` | ユーザー個別設定(グローバル) |
78+
| `documentation/documentation_guidelines.md` | ドキュメント作成規約 |
79+
80+
## 4. サンプル・デモ・テスト
81+
82+
### 4.1 Samples (`Assets/Samples/`)
83+
84+
**目的**: NOVA Shaderの各機能の使用例を提供
85+
86+
**構成**:
87+
- サンプルシーン
88+
- サンプルマテリアル
89+
- サンプルテクスチャ
90+
- README(英語・日本語)
91+
92+
### 4.2 Demo (`Assets/Demo/`)
93+
94+
**目的**: 実際のゲームで使用するような実践的なエフェクトデモ
95+
96+
**構成**:
97+
- デモシーン
98+
- VFXアセット
99+
- README
100+
101+
### 4.3 Tests (`Assets/Tests/`)
102+
103+
**目的**: 機能の自動テスト
104+
105+
**構成**:
106+
- Edit Modeテスト
107+
- Play Modeテスト
108+
- Assembly Definition(テスト用)
109+
110+
## 5. ビルド成果物
111+
112+
### 5.1 OptimizedShaders (`Assets/OptimizedShaders/`)
113+
114+
**目的**: `OptimizedShaderGenerator`が生成した最適化シェーダーの配置先
115+
116+
**内容**:
117+
- Rendering Type別に最適化されたシェーダーバリアント
118+
- 不要なシェーダーパスを除去したバージョン
119+
- メモリ使用量削減版
120+
121+
### 5.2 .gitignore対象
122+
123+
以下はGit管理外:
124+
- `Library/`: Unity生成ファイル
125+
- `Temp/`: 一時ファイル
126+
- `obj/`: ビルド成果物
127+
- `*.csproj`, `*.sln`: 自動生成されるプロジェクトファイル
128+
129+
## 6. アーキテクチャの設計原則
130+
131+
### 6.1 シェーダーアーキテクチャ
132+
133+
**階層構造**:
134+
```
135+
.shader (ShaderLab)
136+
↓ HLSLINCLUDE / HLSLPROGRAM
137+
↓ #include
138+
ParticlesUber.hlsl (共通定義・プロパティ)
139+
↓ #include
140+
Particles.hlsl (共通関数)
141+
↓ #include
142+
ParticlesInstancing.hlsl (GPU Instancing)
143+
↓ 各Pass用HLSL
144+
ParticlesUberUnlitForward.hlsl
145+
ParticlesUberLitForward.hlsl
146+
ParticlesUberShadowCaster.hlsl
147+
...
148+
```
149+
150+
### 6.2 エディタースクリプトアーキテクチャ
151+
152+
**役割分担**:
153+
1. **GUI**: マテリアルインスペクターの描画
154+
2. **MaterialProperties**: プロパティの管理・取得
155+
3. **PostProcessor**: マテリアル保存時のキーワード自動設定
156+
4. **ErrorHandler**: Vertex Streams検証・自動修正
157+
5. **Optimizer**: 最適化シェーダー生成
158+
159+
### 6.3 Custom Coord設計
160+
161+
**型安全な実装**:
162+
- C# enum (`CustomCoord`, `UICustomCoord`)
163+
- HLSL macro (`GET_CUSTOM_COORD`, `SETUP_CUSTOM_COORD`)
164+
- エディターでの自動補完とバリデーション
165+
166+
## 7. 依存関係とバージョン管理
167+
168+
### 7.1 Unity依存
169+
170+
- **最小バージョン**: Unity 2022.3 LTS
171+
- **URP**: Universal Render Pipeline必須
172+
- **Shader Model**: 3.5以上
173+
174+
### 7.2 外部依存
175+
176+
**ゼロ依存**: NOVA Shaderは外部パッケージに依存しない
177+
178+
### 7.3 バージョン管理
179+
180+
- **package.json**: バージョン番号の唯一の真実の情報源
181+
- **Git Tags**: バージョンごとにタグ付け(例: `v3.3.1`
182+
- **Semantic Versioning**: `major.minor.patch`形式
183+
184+
## 8. ファイル命名規則
185+
186+
### 8.1 シェーダー
187+
188+
- `.shader`: ShaderLabファイル(マテリアルに割り当て可能)
189+
- `.hlsl`: HLSLインクルードファイル
190+
191+
### 8.2 C#スクリプト
192+
193+
- `*GUI.cs`: Material GUIクラス
194+
- `*MaterialPostProcessor.cs`: Material PostProcessorクラス
195+
- `*MaterialProperties.cs`: Material Propertiesクラス
196+
- Enum定義: 単数形(例: `RenderType.cs`
197+
198+
### 8.3 ドキュメント
199+
200+
- `*_Specification.md`: 機能仕様書
201+
- `*_SystemArchitecture.md`: システムアーキテクチャドキュメント
202+
- `*_Guidelines.md`: ガイドライン
203+
- `*_Template.md`: テンプレート
204+
205+
---
206+
207+
## 次に読むべきドキュメント
208+
209+
- [主要コンポーネント解説](03_Core_Components.md)
210+
- [AI開発戦略](05_AI_Development_Strategy.md)
211+
- [開発ワークフロー](04_Development_Workflow.md)

0 commit comments

Comments
 (0)