# 素材クレジットと生成記録

すべて自家生成。第三者素材の再配布は含まない。

## 生成環境
- reForge (Stable Diffusion WebUI 互換API) / `http://127.0.0.1:7860`
- モデル: **NoobAI-XL v1.1** (`NoobAI-XL-v1.1.safetensors`, hash 6681e8e4b1)
- サンプラー: Euler a / CFG 5.0–6.0 / Steps 30–34
- 生成日: 2026-08-13

## 背景 `bg/`（1920x1080 PNG・人物なし）— **KitBash3D + Blender レンダに差し替え済み**

初期版は reForge 生成だったが、世界観の作り込みのため 3D 実シーンへ置換した。

- 3Dキット: **KitBash3D "Treasure Island"**（744メッシュ／33棟＋70種の小物、メートル単位）
  `P:\CG fanbookD assets\Kitbash3D - Treasure Island BLENDER`
- レンダラ: **Blender 5.1.1** / EEVEE / 1920x1080 / AgX (Medium High Contrast) / カットごとに露出補正
- 構成スクリプト: `tools/blender/build_island.py`（カットごとに前景・中景・遠景を手で配置）
- 空: Nishita 大気（Blender 5.x では MULTIPLE_SCATTERING）を各カットのキーライトと連動
- カット: `beach_dawn`（夜明けの浜・沖の帆）/ `village`（漁村の広場）/ `night_sea`（夜の桟橋）/
  `cliff`（島の縁）/ `kitchen`（飯屋の内観）/ `sea_calm`（凪の沖・星が映る）/
  `sea_fog`（霧の海）/ `shore_new`（名の無い岸）/ `smithy`（鍛冶場）/
  `beach_storm`（猟犬の来た浜）
- **光では場所は変えられない**。鍛冶場は長く「村の広場を炉の色に染めたもの」で、
  猟犬の浜は「夜明けの浜を灰色にしたもの」だった。時刻や天候は `@grade` で作れるが、
  金床の無い広場はどれだけ赤くしても鍛冶場にならない。色で誤魔化している場所は、
  絵そのものを焼くしかない
- 鍛冶場は**背後を建物で完全に塞ぐ**のが要点。抜けが一箇所でも見えると、物を
  いくら置いても「屋外の広場」に戻ってしまう。主光源は太陽ではなく炉
- 猟犬の帆は水平線の上に小さく置く。近いと港に見えて、脅威にならない
- 海の三枚は第5章のために足した。夜の桟橋には杭も板も家もあり、「島を出た」画に
  ならなかった。沖に要るのは「何も無いこと」で、それは既存カットの流用では作れない
- **霧は EEVEE のボリュームでは作れない**。`haze()` の箱をどれだけ大きくしても、
  700m 先の水平線は霧に沈まなかった（EEVEE のボリュームは 100m 程度で切れる）。
  海の明度を空へ寄せて、境目そのものを消す方向で解いている
- **平らな砂の板と海を高さ差で重ねると、汀が定規の線になる**（テーブルの縁に見える）。
  `shore_new` では砂を 0.9 度だけ傾けて水へ沈め、水際を作った
- ライセンス: KitBash3D のキットは購入済み。**レンダリング成果物の利用**という形態であり、
  キットそのものの再配布は行っていない

### 旧・reForge 生成版（差し替え前の記録）
| ファイル | seed | 備考 |
|---|---|---|
| beach_dawn.png | 2571 | 夜明けの浜。空に星の尾。人物・異物なしを重み付きネガティブで担保 |
| night_sea.png | 4412 | 星明かりの夜の海 |
| kitchen.png | 914 | 飯屋の内観（前近代・土間と鉄鍋。近代家電はネガティブで排除） |
| village.png | 703 | 島の漁村・夕暮れ |

## 立ち絵 `sprite/fine/`（760x1160 透過PNG・接地位置とスケール統一）
- キャラクター: フィーネ（白い麻のワンピース／長い黒髪／素足）
- **同一 seed 8801 + 同一基本プロンプト**で表情のみ差分＝顔の一貫性を担保
- 表情: `normal` / `smile` / `surprise` / `trouble` / `shy`
- 工程: グリーンバック生成 → despill 付きキーイング（緑被り中和）→ 微小alpha除去 → 外接矩形 → 高さ1100へ正規化 → 760x1160 キャンバスへ下端中央で配置

## 立ち絵 `sprite/baa/` `sprite/kaj/` `sprite/futago/` `sprite/inu/`
島の人々。フィーネと同じ 760x1160・同じ背丈（本体1100px）で、並べても縮尺が揃う。

| 置き場 | 人物 | 種 | 表情 |
|---|---|---|---|
| `baa/` | ばあちゃん（飯屋の老婆） | 8452 | normal / laugh / stern / worry |
| `kaj/` | 鍛冶屋 | 8711 | normal / grin |
| `futago/` | 双子（一枚に二人） | 6239 | normal / cheer / scared |
| `inu/` | 猟犬の隊長 | 11096 | normal |

**工程がフィーネと違う。** フィーネは「同じ seed ＋ 表情語だけ差し替え」で作れたが、
この4人では通用しなかった――表情の語を一語変えるだけで着物の色も履物も顔立ちも
別物になる（QC で全滅）。そこで **normal を一枚選び、他の表情はその画像からの
img2img（denoising 0.42〜0.50）で派生**させている。衣装・体型・ポーズ・画風はそのまま
残り、顔つきだけが動く。生成前の絵は `tools/sprite/raw/` に残してあり、キーイングだけ
やり直せる（`tools/sprite/generate.py --rekey`）。

手は姿勢で隠している（袖に入れる／腕を組む／後ろ手に組む）。生成された指はほぼ確実に
壊れるので、破綻しない絵を引くまで回すより、見せないほうが速い。

**作れなかった表情がある。** 鍛冶屋の `grim`（横目の渋面）と隊長の `order`（顎を
上げた号令）は、何度焼き直しても出荷できる絵にならなかった。前者は img2img が目の
描画を壊す（白目が消え虹彩が発光する）、後者は顎を上げた頭部を img2img が作れず、
顔だけが二十歳ぶん老けた別人になる。壊れた絵を出すより表情を持たないほうがましなので、
落としてある。作るなら、目だけを覆うマスク付きの inpaint と、頭部を描き直した別の
親絵が要る。

## 意図的に存在しない素材
- **主人公ツヅクの立ち絵は作らない**（作品の根幹に関わる設計判断。慣習に見せかけた仕掛け）
- 名前だけ残った男の立ち絵も作らない（線画の別工程で扱う）

## 音楽 `bgm/`（第三者素材・要クレジット表記）

作曲: **なぐもりずの音楽室（Nagumo Rizu）** — <https://nagumorizu.com/>

利用条件は配布元の規約（<https://nagumorizu.com/tos>）に基づく。商用利用可・改変可・
クレジット表記が条件。**本作は規約に従いクレジットを表示する**。原曲ファイルの再配布は
行わず、ゲーム内再生用に ogg へ変換したもののみを同梱している。

| 使用名 | 原曲 | 収録 | 用途 |
|---|---|---|---|
| `dawn` | 空が茜に染まるまで | 音楽素材集vol.24『ヴェルスティア旅行記』 | 夜明けの浜 |
| `daily` | Peaceful Village | 音楽素材集Vol.3『Fictional OST 01』 | 飯屋・村・日常 |
| `wonder` | Looking for Magic Clover | 音楽素材集Vol.3『Fictional OST 01』 | 漂着・不思議 |
| `night` | 宿屋 | 音楽素材集Vol.3『Fictional OST 01』 | 夜の窓辺・儀式 |
| `narration` | 眠る森 | 音楽素材集vol.24『ヴェルスティア旅行記』 | 朗読・幕間 |
| `tension` | Ruined Altar | 音楽素材集Vol.3『Fictional OST 01』 | 緊迫 |

変換: FLAC → ogg vorbis（`-q:a 5`、ラウドネスを揃えて音量差を潰した）

### 頒布時に必ず記載すること

> Music: なぐもりずの音楽室 https://nagumorizu.com/

## 効果音 `se/` と環境音 `amb/`（自家生成）

`tools/audio/make_sfx.py` で合成。第三者素材を含まない。

- 効果音 10 種: `drop` `fire` `bell` `chime` `sand`（言葉の五つの響きに対応）/
  `pick`（拾得）`weave`（言継ぎ成立）`deny`（拒否）`burn`（言葉を焼く）`chart`（星図）
- 環境音 4 種: `waves` `waves_night` `hearth` `night`
- ループ点は前後をクロスフェードして繋いであり、波もかまども継ぎ目で鳴らない

## 主題歌 `bgm/op.ogg` — 「よみかけの星」

- 生成: **Suno**（プラン: **Pro**）／生成日 2026-08-16
- 作詞: 本作のために書き下ろし（`docs/design/op-theme.md` §1 v2）。詞は自作物
- 原本: `よみかけの星.wav`（48kHz/16bit stereo・3分12秒）。配布物には含めない
- 加工: `loudnorm I=-16.5 TP=-1.5 LRA=7` で既存BGM（-16.7〜-21.5 LUFS）と揃え、
  頭 2.6 秒のフェードインを付加（タイトルの暗転明けと音の立ち上がりが喧嘩するため）
- 変換: `ffmpeg -c:a libvorbis -q:a 5`

**利用条件の記録（2026-08-16 時点）**: Suno Pro プランの生成物は、プランの規約上
商用利用が認められている。公開・配信の前に、その時点の規約を必ず再確認すること
――規約は変わるが、この行に書いた日付とプラン名は変わらないので、突き合わせができる。
