# NV-7000d × Jimny Sierra JB74 — 公式資料参照版

スズキ公式の仕様PDFと内外装画像20枚を取得し、前の試作を修正しました。外装、屋根、内装、前後のNV-7000dと、位置・角度調整用のWebビューアを含みます。元の試作は別フォルダに保持しています。

## ブラウザで開く

このフォルダ内で実行します。Python 3以外の追加パッケージは不要です。

```sh
python3 viewer/serve.py
```

[3Dシミュレーションを開く](http://127.0.0.1:8768/viewer/)

WebGL 2対応ブラウザで、ローカルサーバー経由で開いてください。ポートが使用中なら `--port 8769` を指定し、URLも変更します。サーバーは127.0.0.1限定です。ビューアは外部CDN・外部通信・追加ライブラリを使用しません。

## 修正した内容

| 部位 | 公式資料との比較から反映した内容 |
| --- | --- |
| 車体 | 後部の長さ、窓位置、タイヤ間隔、ボンネットの前後勾配とプレスライン |
| 窓・柱 | 角の丸い窓、黒い周縁、連続した窓枠、屋根と窓下の接続部分 |
| フロント | ライトまでつながる黒いグリル、5つの開口、上側の方向指示灯、水平なバンパー吸気口 |
| 足回り | 幅のあるフェンダー、トレッド、タイヤ側面の成形線、スペアのカバーと溝 |
| 細部 | ドアハンドル、給油口、ミラー方向指示灯、助手席補助ミラー、リア灯火、ワイパー |
| 内装 | 奥行きのある丸型メーター、中央吹出口、赤いハザードスイッチ、エアコン操作部、ステアリング操作部 |
| 材質 | アイボリー塗装のクリアコート、黒い樹脂、布、タイヤ、透明／濃色ガラスを区別 |
| Web描画 | 操作中のルームミラーの鏡像、表面の微細な質感、材質ごとの反射、影のキャッシュ |

参照した内装画面のレイアウトを手掛かりに、オーディオ表示は独自の簡略UIとして描き起こしています。グレードや年式固有の細かな装備・機構まで完全一致するモデルではありません。

## 操作

- **車両全体／後ろから**：外装を含めて確認します。
- **フロント／リア**：調整するカメラを選びます。
- **取付部を拡大／運転席から（後席から）／車外から**：取り付けた状態の見え方を比較します。
- **左右位置／ガラス上端から／上下角度**：前後それぞれを独立して調整します。
- **屋根・天井／ルームミラー／ガラス／配線**：個別に表示を切り替えられます。
- ドラッグで回転、ホイール・ピンチで拡大縮小。矢印キー、＋／−、Homeも使えます。
- **現在の配置を保存**：前後の位置・角度をJSONに保存します。Blender／GLBの更新や、JSONの再読み込みは行いません。ページを再読み込みすると初期配置に戻ります。

初期配置はフロントが車体中央から左160 mm、リアが中央。どちらもガラス上端から面に沿って75 mm、上下角度0°です。左右値の正方向は車体右側、角度の正方向は下向きです。

## 寸法・精度の範囲

[スズキ公式の主要諸元・寸法図](https://www.suzuki.co.jp/car/jimny_sierra/asset/pdf/detail/detail.pdf)で確認した主要寸法を、モデルの基準位置に反映しました。

| 項目 | 公式値 | モデルで確認した値 |
| --- | ---: | ---: |
| 全長（寸法図の前後端） | 3,550 mm | 3,550 mm |
| 全幅（ミラーを除く） | 1,645 mm | 1,645 mm |
| 全高（アンテナを折り畳んだ状態） | 1,730 mm | 屋根まで1,730 mm |
| ホイールベース | 2,250 mm | 2,250 mm |
| 前トレッド | 1,395 mm | 1,395 mm |
| 後トレッド | 1,405 mm | 1,405 mm |

寸法図の全長線と、出っ張ったスペアタイヤの端は区別しています。モデルのミラー・アンテナ・スペア等をすべて含む外形は上記とは異なり、`reports/vehicle-validation.json` に記録しています。

内装の細部、曲面、ガラス傾斜、運転者の目の位置、ミラー角度、取付機構は写真・図からの外観再現または推定です。メーカー提供の実測CADではありません。実車の取り付け可否や録画範囲を判定する機能はありません。

**リア取付部には3.2 mmのスペーサーを仮定しています。** 製品付属品を示すものではなく、傾斜したリアガラスと既存のカメラ形状が重なることを避けるための追加部品です。画面内にも明記しています。配線は経路のイメージです。

フロントの接着面とリアの追加スペーサー表面をガラスに合わせ、上下角度−3〜12°を整数刻みで検査しました。ガラス平面に対する本体の最小隙間はフロント約0.38 mm、リア約0.87 mmです。内装全体との衝突や実物の可動域まで検証したものではありません。

## 軽量化と描画

シーン全体は**162,216三角形、GLB 4,016,024 bytes（約4.02 MB）**です。18メッシュ、80プリミティブ、内蔵画像1枚で、外部テクスチャ参照はありません。元のNV-7000dの42,768三角形を保持し、リアスペーサー108三角形を追加しています。

- 編集用Blenderでは部品を分け、Web用はグループ・材質ごとにまとめています。
- 動かない車体の影をキャッシュし、カメラ位置変更時に必要な影を更新します。
- 無操作時は描画を停止し、解像度倍率は最大2に制限します。
- 車内の鏡像はフロントの近接／運転席視点で表示します。ミラー部分に合わせた512×512の描画で、画面全体を高解像度で二重描画する負荷を抑えています。
- 確認環境のChrome 152では、車両全体表示で約2.01秒間の連続調整中に121フレーム（約60 fps）を描画しました。実機スマートフォンの性能は未測定です。

付属ビューアではクリアコート、微細な樹脂／布表現、単一平面のルームミラー反射を実装しています。ドアミラーの動的鏡像や鏡同士の反射は含みません。汎用glTFビューアでは標準の基本材質が表示され、付属ビューア固有の微細表現や鏡像は再現されません。

BlenderプレビューはCycles・24サンプル・デノイズ・AgXで1440×900に出力しています。Blenderの手続き型凹凸と、Webの表面表現は実装が異なるため、光の見え方は完全には一致しません。

## ファイル

| ファイル | 内容 |
| --- | --- |
| `nv-7000d-jimny.blend` | 編集用シーン。照明・カメラ・部品別コレクションを含む |
| `nv-7000d-jimny.glb` | 初期配置のWeb用データ。メートル単位、glTFのY-up |
| `scene-config.json` | 接着位置、回転中心、ガラス傾斜、主要寸法と仮定 |
| `viewer/` | WebGLビューアとローカルサーバー |
| `scripts/` | 再生成・仕上げ・構造検査・書き出し検証のスクリプト |
| `source/` | 再生成に使用する元の製品取り付けシーン |
| `previews/` | Blenderレンダーとブラウザ検証画像 |
| `references/` | 取得した公式PDF・画像、URLとハッシュの記録 |
| `reports/` | 形状・寸法・再読込・ブラウザ操作の検証結果 |

## 検証と再生成

Blender 5.2.1 LTSで保存後の再読込検査、GLBを空のシーンへ読み込んだ比較検査、材質・画像参照検査を完了しています。JavaScriptの構文検査とPythonのコンパイル検査も完了しています。

Chromeで前後配置、視点、各表示切替、鏡像、JSON保存、回転・ズーム、無操作時の描画停止、幅390 pxの表示を確認しました。WebGL・読込エラーはありませんでした。Safari、Firefox、実機スマートフォンは未検証です。別途lint・型チェック・テストランナーの設定はありません。

`blender`を実行ファイルのパスに置き換え、このフォルダで実行します。

```sh
blender --background --factory-startup --disable-autoexec --python-exit-code 1 --python scripts/build_jimny.py -- --render
blender --background --disable-autoexec nv-7000d-jimny.blend --python-exit-code 1 --python scripts/inspect_scene.py -- --output reports/scene-inspection.json --require-mesh --require-materials --max-triangles 220000
blender --background --disable-autoexec nv-7000d-jimny.blend --python-exit-code 1 --python scripts/validate_jimny.py
node --check viewer/installation.js
```

`build_jimny.py`は`refine_vehicle.py`と`finish_details.py`も実行し、最終形状を再生成します。ネットワーク接続や追加インストールは行いません。

公式参照先：[デザイン](https://www.suzuki.co.jp/car/jimny_sierra/styling/)／[室内空間](https://www.suzuki.co.jp/car/jimny_sierra/interior/)／[主要諸元・寸法図](https://www.suzuki.co.jp/car/jimny_sierra/asset/pdf/detail/detail.pdf)。取得日は2026年9月5日。参照画像は資料として同梱し、モデルの表面へ写真をそのまま貼り付ける方法は使っていません。
