差分

ナビゲーションに移動 検索に移動
15,096 バイト追加 、 月曜日 07:24
3dモデル の日本語化(kagi)
{{version|Timeless}}

※2025/10/6、英wikiよりkagi翻訳を通しました。機械翻訳なので一部不自然な日本語があるかもしれません。ぜひ編集してくれるとありがたいです。

Crusader Kings III では、肖像画・部隊・所領といったゲーム内オブジェクトや、樹木のようなマップ上のオブジェクトを 3D モデルで表現します。本ガイドは、3D モデリングやマテリアルの基礎知識を持つ CK3 のモッダー向けです。Clausewitz 向けの他の 3D モデリングガイド(例:Imperator: Rome)に近い内容です。
3D モデルを作成するには、Autodesk Maya や Blender などのモデリングソフトが必要です。さらに、Crusader Kings III のモデルをインポート/エクスポートするアドオンが必要です。テクスチャを作成するには、Adobe Photoshop や GIMP といった画像編集ソフトと、DDS テクスチャをインポート/エクスポートするアドオンが必要です。

== 概要 ==
すべてのモデルと、それぞれのテクスチャ・アニメーションは {{path|gfx/models/}} にあります。

典型的なモデルは次のファイルで構成されています:
* '''<model>.mesh''' - 3D モデル本体。
* '''<model>.asset''' - モデルをゲームに登録するスクリプト。
* '''<model>_diffuse.dds''' - モデルのディフューズ(ベースカラー)テクスチャ。
* '''<model>_normal.dds''' - 法線マップ。
* '''<model>_properties.dds''' - スペキュラー・メタルネス・ラフネスをまとめたチャンネルパックテクスチャ。

他の 3D モデル用の追加テクスチャ:
* '''<model>_unique.dds''' - standard_atlas シェーダーで使用。B チャンネルがモデルのアンビエントオクルージョン。

== チュートリアル: セットアップ ==

=== ツール ===
* Autodesk Maya。3D モデルやアニメーションを作成するソフト。Clausewitz Maya Exporter の導入が必要。
* [https://forum.paradoxplaza.com/forum/threads/information-and-faq.924764/ Clausewitz Maya Exporter]。Paradox 製の Maya 用プラグイン。インストール済みゲームに基づいてモデルをセットアップし、モデルとアセットをエクスポート。インストール手順はフォーラム投稿および下記に記載。
* [https://www.blender.org/download/ Blender]。無償の 3D モデリング/アニメーションソフト。
* [https://github.com/ross-g/io_pdx_mesh IO PDX Mesh アドオン]。Blender または Autodesk Maya に導入可能なアドオン。対応ゲームからモデルをセットアップ。インストール手順はリンク先参照。

=== Clausewitz Maya Exporter のセットアップ ===
[[Exporters|エクスポーター]]の完全なセットアップガイドがあります。以下は短縮版です。

エクスポーターで CK3 を設定するには、clausewitz.settings をコードエディタで開き、フォルダパスを編集して保存します。CK3 用のフォルダパスは次のとおりです:
*"name": "CrusaderKingsIII"
*"path": "C:/SteamLibrary/steamaps/common/Crusader Kings III/game/tools"
*"export_path": "あなたの個人用 MOD フォルダ"
*"target_exe": "C:/SteamLibrary/steamaps/common/Crusader Kings III/binaries/ck3.exe"
注意:
*あなたの MOD の gfx/models フォルダは C ドライブ上のどこでも構いません。編集する各 MOD ごとに設定を変えてもよいですし、1 つのフォルダを使ってそこから自分の MOD にコピーしても構いません。
*/(フォワードスラッシュ)が重要です。Windows エクスプローラーは \(バックスラッシュ)を使います。エクスプローラーからコピーした場合、/ を使うようにパスを書き換える必要があります。
*name は 1 語で、スペースを含めないでください。

== モデル作成 ==

=== Maya/Blender の 3D モデル準備 ===
==== UV ====
standard_atlas シェーダーの UV マップ順序:
# '''map1''' - AO「<model>_unique」に展開した UV
# '''map2''' - マテリアルアトラスに展開した UV

==== UV マップの問題 ====
モデル作成時に見落としがちですが、map1 は map2 より上にあり、かつ Maya でデフォルトの UV セットである必要があります。Blender から .dae でインポートする場合も、Blender 側で UV の順序が正しい必要があります。
UV の順序が正しくない場合、次の方法で並べ替えてください。Maya でデフォルトの UV セットを削除する方法は不明です。
問題の本質は、map1 がマテリアルアトラスに割り当てられてしまっていることです。
# UV - UV セット エディタ。map1 をコピー。
# UV セット エディタで map2 を選択。
# UV - UV エディタ。UV エディタの UV Sets – Copy UVs to UV Set で map1 を選択。
# UV セット エディタで map2 を削除。
# UVSet1(手順1で map1 をコピーしてできたもの)の名前を「map2」に変更。
# map1 を選択して Update をクリック。

==== 壊れた法線 ====
Maya では、Mesh Cleanup ツール(デフォルト設定)を使って、<code>Error! Mesh contains broken normals, tangents and/or bitangents.</code> を解決できます。

=== テクスチャ ===

==== フォーマット ====
以下は Ck3 の主なテクスチャ形式です(Ck3 Modding Coop の "@Sparc | Princes of Darkness Mod" に感謝)(一部の種類で推奨解像度が上がっている可能性はありますが、小さいサイズでも動作します):

===== アイコン =====
{| class="wikitable mw-collapsible mw-collapsed"
!'''Type'''
! '''Dimensions'''
!'''Format & Minimaps'''
|-
| 宗教アイコン
| 100×100
| <code>32bit-A8R8G8B8</code>(ミップマップなし)
|-
| 紋章(カラーエンブレム)
| 512×512
| <code>BC3/DXT5</code>(ミップマップあり)
|-
| 紋章(パターン)
| 256×256
| <code>DXT1</code>(ミップマップあり)
|-
| 連隊タイプアイコン
| 120×120
| <code>A8R8G8B8</code>(ミップマップなし)
|-
| フォーカスアイコン
| 140×140
| <code>A8R8G8B8</code>(ミップマップなし)
|-
| 信仰教義テネットアイコン
| 260×400
| <code>DXT5</code>(ミップマップなし)
|-
| 信仰教義アイコンバナー
| 260×400
| <code>A8R8G8B8</code>(ミップマップなし)
|-
| 文化イノベーション
| 90×60
| <code>A8R8G8B8</code>(ミップマップなし)
|-
| 角色インタラクション
| 120×120
| <code>A8R8G8B8</code>(ミップマップなし)
|-
| 建物タイプアイコン
| 150×130
| <code>A8R8G8B8</code>(ミップマップなし)
|-
| 特性アイコン
| 120×120
| <code>A8R8G8B8</code>(ミップマップあり)
|-
| ライフスタイル特典
| 120×120
| <code>A8R8G8B8</code>(ミップマップあり)
|-
| ライフスタイル背景
| 608×1546
| <code>DXT5</code>(ミップマップなし)
|-
| ライフスタイルツリー背景
| 347×812
| <code>DXT5</code>(ミップマップなし)
|-
| 継承系統(Legacy Tracks)
| 4216×368
| <code>DXT5</code>(ミップマップなし)
|-
| イベントタイプアイコン
| 148×148
| ''(形式未指定)''
|}

===== イラスト & 背景 =====
{| class="wikitable mw-collapsible mw-collapsed"
! '''Type'''
!'''Dimensions'''
!'''Format & Minimaps'''
|-
| ローディング画面
| 3840×2160
| <code>DXT1</code>(ミップマップなし)
|-
| イベントシーン
| 1592×848
| <code>DXT1</code>(ミップマップなし)
|-
| イベントシーン(フロントエンド)
| 1592×828
| <code>DXT1</code>(ミップマップなし)
|-
| 決断
| 1100×440
| <code>DXT1</code>(ミップマップなし)
|-
| 評議会
| 844×844
| <code>DXT1</code>(ミップマップなし)
|-
| キャラクタービュー
| 1539×849
| <code>DXT1</code>(ミップマップなし)
|-
| 所領タイプ
| 2560×1168
| <code>DXT1</code>(ミップマップなし)
|-
| 地形タイプ
| 1200×600
| <code>DXT1</code>(ミップマップなし)
|-
| 常備軍(小)
| 160×160
| <code>DXT1</code>(ミップマップなし)
|-
| 常備軍(大)
| 680×400
| <code>DXT1</code>(ミップマップなし)
|-
| ブックマーク
| 1920×1080
| <code>DXT5</code>(ミップマップなし)
|}

===== 衣装テクスチャ =====
{| class="wikitable mw-collapsible mw-collapsed"
!'''Type'''
!'''Dimensions'''
!'''Format & Minimaps'''
|-
| パターン用 Properties
| 512×512
| <code>DXT5</code>(ミップマップあり)
|-
| パターン用 Normal
| 512×512
| <code>DXT5</code>(ミップマップあり)
|}

===== 建物テクスチャ =====
すべて 1024×1024、DXT5、ミップマップあり。

==== チャンネルパッキング ====
チャンネルパッキングは、色やテクスチャ情報をファイルの色チャンネル(赤・緑・青・アルファ)に振り分けて 1 つにまとめ、容量節約と効率向上を図る手法です。

以下は多くのバニラテクスチャでのパッキング方法です([[stella:Maya_exporter#Exporting_textures/|Stellaris Modding Wiki]] に感謝):
{| class="wikitable"
! rowspan="2" |File
! colspan="4" |Channel
! rowspan="2" |Notes
|-
!R
!G
!B
!A
|-
| [texturename]_diffuse.dds
| DiffuseR
| DiffuseG
| DiffuseB
| OpacityR
| OpacityGB は無視
|-
| [texturename]_normal.dds
| NormalR
| NormalR
| EmissiveR
| NormalG
| NormalB は無視。
EmissiveGB は無視
|-
| [texturename]_specular.dds
| Mask(各種)
| SpecularB
| MetalB
| GlossB
| ColorRGB は無視
SpecularRG は無視。

Gloss RG は無視。
|}

===== Gimp =====
例えば新しいノーマルマップを GIMP で作る場合は、次の手順です。

# ノーマル用テクスチャを GIMP に読み込む。
# 選択範囲がないことを確認し、メニューの「色 > コンポーネント > 分解」をクリック。
# 分解ダイアログではそのまま OK。画像の色チャンネルが分割され、レイヤー同様に編集可能になります。
# 終わったら「色 > コンポーネント > 合成」。合成ダイアログで色モデルに RGBA を選び、どのレイヤーをどのチャンネルに割り当てるか指定。例では、Red に Red レイヤー、Green に Red レイヤー、Blue は 0 のマスク値、Alpha に Green レイヤーを設定。
# OK で合成され、黄味がかったノーマルマップが得られます。これを [texturename]_normal.dds として、BC3/DXT5 圧縮・ミップマップ生成ありでエクスポートします。

== チュートリアル: マップに載せる ==

建物モデルをゲーム内に表示するには、いくつかのファイル編集が必要です。

まず、建物用のアセットファイルには entity ブロックと pdxmesh ブロックが必要で、前者は本質的に後者への参照を持ちます。用途に応じて、mesh か entity を参照します。

=== 所領(Holdings) ===
改造した宗教や文化のための所領建物を作るには、まずそれらがマップに配置される entity として扱われる必要があります。バニラの <code>gfx/models/buildings</code> 配下にある <code>all_buildings.asset</code> を編集して参照を追加します。ここでの各設定の詳細は不明な点もありますが、パターンに倣って各新規所領モデルにロケーターと attach ブロックを追加すれば動作します。例:

<pre>
locator = { name = "pos_11_a" position = { @[gap * 6.5] 000 @[gap * -1.5 ] } }
locator = { name = "pos_11_b" position = { @[gap * 6.5] 000 @[gap * -0.5 ] } }
locator = { name = "pos_11_c" position = { @[gap * 6.5] 000 @[gap * 0.5 ] } }
locator = { name = "pos_11_d" position = { @[gap * 6.5] 000 @[gap * 1.5 ] } }
attach = { "pos_11_a" = "building_[mymod]_city_01_entity" }
attach = { "pos_11_b" = "building_[mymod]_city_02_entity" }
attach = { "pos_11_c" = "building_[mymod]_temple_01_entity" }
attach = { "pos_11_d" = "building_[mymod]_temple_02_entity" }
</pre>

次に、寺院所領と城/都市所領で分岐があります。寺院所領の選択は主に宗教によって決まり、城と都市は文化によって決まります。新しい都市・城の所領を文化で使わせるには、その文化用に新たな <code>graphical_culture</code> を定義します。これは単なるタグで、どこかに事前宣言する必要はありません。文化定義の先頭にある <code>graphical_cultures</code> ブロックに、例えば <code>[mymod]_building_gfx</code> と記述します。一方、宗教は <code>graphical_faith</code> を定義します。同様に宗教定義の先頭で指定します。

すべてを結び付けるには、(名前から想像するのとは異なり)''holdings'' ではなく建物(buildings)のバニラファイルを編集します。例えば新しい寺院所領メッシュを追加するには、<code>00_temple_buildings.txt</code> を編集します。所領(正確には基幹建物)の 4 段階それぞれに、使用され得るメッシュを定義する asset ブロックがあります。自作の所領モデルを次のように追加します:

<pre>
asset = {
type = pdxmesh
name = "building_[mymod]_temple_01_mesh"
illustration = "gfx/interface/illustrations/holding_types/temple_[mymod].dds"
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/[mymod]_temple" soundparameter = { "Tier" = 0 } }
graphical_faiths = { "[mymod]_gfx" }
graphical_regions = { "graphical_[mymod]_region" }
}
</pre>

<code>name</code> にはアセットファイル内のメッシュのタグ名を参照します。<code>illustration</code> は所領 UI 背景となるアートを指定します(バニラでは変数を使い、ファイル先頭で実パスを定義)。<code>soundeffect</code> は所領にカーソルを合わせた際の環境音を参照します。ここでの <code>graphical_faiths</code> は、新しい宗教のために定義した graphical_faith を一つ以上指定します。

最後に、<code>graphical_region</code> は地理的な使用範囲を制限する任意の方法です。同一モデルのバリエーション(例:異なるマテリアルで各地域に馴染ませる)を用意する場合に使えます。これは <code>map_data/geographical_regions.txt</code> の <code>graphical_region</code> を参照し、同ファイルに追加も可能です。

この構文は都市や城でも同様に機能します。<code>graphical_faiths</code> の代わりに <code>graphical_cultures</code> を使用してください。

<br>

{{Modding navbox}}
[[Category:Modding]]
98

回編集

案内メニュー