#author("2017-06-10T01:12:08+09:00","","")
#author("2017-08-16T02:37:13+09:00","","")
[[MOD/作成方法]]

* 指導者の各種画像表示(文明選択画面/ローディング画面/リザルト画面/外交交渉画面) [#eaf8faa2]

長くなっちゃいますがある意味不可分なものなので、まとめて説明します。
SDKのサンプルを改変していく形で説明します。

** 用意するもの [#f98cfbe3]

- 文明選択画面用の指導者の立ち絵(LEADER_JASPER_KITTY_NEUTRAL.dss) サイズ:328x646
- 指導者の立ち絵(Foreground.dss) サイズ:888x1024
- ローディング画面用の背景(Background.dss) サイズ:1920x1080
- 外交交渉画面用の背景込みの画像(Diplomacy.dss) サイズ:1920x1080
- hogehoge_LoadingInfo_Background.dds
サイズ:1920x960、フォーマット:非圧縮/ABGR8/ミニマップなし
- hogehoge_LoadingInfo_Foreground.dds
サイズ:888x1024、フォーマット:非圧縮/ABGR8/ミニマップなし
- hogehoge_DiplomacyInfo_Background.dds
サイズ:1920x960、フォーマット:非圧縮/ABGR8/ミニマップなし
- PORTRAIT_hogehoge.dds
サイズ:328x646、フォーマット:非圧縮/ABGR8/ミニマップなし
- FALLBACK_NEUTRAL_hogehoge.dds
サイズ:888x1024、、フォーマット:非圧縮/ABGR8/ミニマップなし
- LEADER_hogehoge_NEUTRAL.dds
サイズ:888x1024、、フォーマット:非圧縮/ABGR8/ミニマップなし

※LEADER_JASPER_KITTY_NEUTRAL.dss以外はtex不要です。

** 下処理 [#m5aa80cc]

SDKのサンプルから立ち上げた状態だと、指導者画像が落書きのような絵ですしゲーム画面で自分の文明をクリックするとクレオパトラのアニメになっています。
まずはこれらを消してしまいましょう。
SDKのサンプルから立ち上げた状態だと、ゲーム内で自分の文明をクリックするとクレオパトラのアニメになっています。
まずはこれを消してしまいましょう。

クレオパトラのアニメを消すのは、既存記事([[勝手に出てくるクレオパトラを消す方法]])を参照してください。
そのまま作業を進めると今度はクレオパトラの静止画像が出るようになってしまうので、
FALLBACK_NEUTRAL_JASPERKITTY.dssという画像を編集して透明画像にしてしまってください。

ためしにゲームを始めてみて以下のようになれば準備完了です。
&ref(20170609233526_1.jpg);
** texファイルの用意 [#qd4ff928]
PORTRAIT_hogehoge.dds、FALLBACK_NEUTRAL_hogehoge.dds、LEADER_hogehoge_NEUTRAL.ddsの三つはtexファイルというものが必要です。
自動生成できるっぽいんですけど(Photoshopなら?)わかりませんのでサンプルのを改変します。
コピーして中身を2か所ほど変更します。

※背景がエジプトのですが、背景の設定そのものがないのでデフォルト動作として表示されているだけです。
*** FALLBACK_NEUTRAL_hogehoge.tex [#l2a5997b]

** 文明選択画面(LEADER_JASPER_KITTY_NEUTRAL.dssを変更) [#se30ce9f]
FALLBACK_NEUTRAL_JASPERKITTY.texをコピーして作ります。
コピーしたら開いて以下のように書き換えます。
     <m_ClassName text="Leader_Fallback"/>
     <m_DataFiles>
         <Element>
             <m_ID text="DDS"/>
             <m_RelativePath text="FALLBACK_NEUTRAL_hogehoge.dds"/> ★ここ
         </Element>
     </m_DataFiles>
     <m_Name text="FALLBACK_NEUTRAL_hogehoge"/> ★ここ
     <m_Description text=""/>
     <m_Tags>
         <Element text="Leader_Fallback"/>
         <Element text="Leader"/>
         <Element text="Fallback"/>
     </m_Tags>
     <m_Groups/>
 </AssetObjects::TextureInstance>

画像編集で差し替えてください。サンプルプロジェクトのものはサイズもかなりいい加減なものですので、
画面の枠ぴったりに合わせたければ328x646にするといい感じになります。
texファイルのサイズをいじるのをお忘れなく。
*** PORTRAIT_hogehoge.tex [#v90341a2]

これだけで文明選択画面のほうはさし替わります。
結月ゆかりさんにしてみました。
LEADER_JASPER_KITTY_NEUTRAL.texをコピーして作ります。
コピーしたら開いて以下のように書き換えます。
 <m_DataFiles>
     <Element>
         <m_ID text="DDS"/>
         <m_RelativePath text="PORTRAIT_hogehoge.dds"/> ★ここ
     </Element>
 </m_DataFiles>
 <m_Name text="PORTRAIT_hogehoge"/> ★ここ
 <m_Description text=""/>
 <m_Tags>
     <Element text="UserInterface"/>
     </m_Tags>
     <m_Groups/>
 </AssetObjects::TextureInstance>

参考例スクショ
&ref(20170610000242_1.jpg);
** ローディング画面・リザルト画面の追加 [#m227c9ca]
*** LEADER_hogehoge_NEUTRAL.tex [#ye11e1fa]

とりあえず作った画像(Background.dds、Foreground.dds)をSDKのTexturesフォルダに放り込んで登録します。
プロパティのInGame Actionsに新規アクションとしてImportを新設し、そこにも登録します。
&ref(ImportImage.jpg);
こちらもLEADER_JASPER_KITTY_NEUTRAL.texをコピーして作ります。
コピーしたら開いて以下のように書き換えます。

 <m_DataFiles>
     <Element>
         <m_ID text="DDS"/>
         <m_RelativePath text="LEADER_hogehoge_NEUTRAL.dds"/> ★ここ
     </Element>
 </m_DataFiles>
 <m_Name text="LEADER_hogehoge_NEUTRAL"/> ★ここ
 <m_Description text=""/>
 <m_Tags>
     <Element text="UserInterface"/>
     </m_Tags>
     <m_Groups/>
 </AssetObjects::TextureInstance>

すべて作成し終えたら開発環境へ登録します。
元のJASPER_KITTYのは削除してしまいましょう。
以下のようになっていればOK。

&ref(ImageAdded.png);

** XLPファイルの編集 [#he994ad9]

XLPフォルダには2つファイルが登録されています。
それぞれ以下のように書き換えます。

*** LeaderFallbacks.xlp [#o2cb9b7b]

 <?xml version="1.0" encoding="UTF-8" ?>
 <AssetObjects::XLP>
     <m_Version>
         <major>4</major>
         <minor>0</minor>
         <build>253</build>
         <revision>293</revision>
     </m_Version>
     <m_ClassName text="LeaderFallback"/>
     <m_PackageName text="LeaderFallbacks"/>
     <m_Entries>
         <Element>
             <m_EntryID text="FALLBACK_NEUTRAL_hogehoge"/> ★ここ
             <m_ObjectName text="FALLBACK_NEUTRAL_hogehoge"/> ★ここ
         </Element>
     </m_Entries>
     <m_AllowedPlatforms>
         <Element>WINDOWS</Element>
         <Element>LINUX</Element>
         <Element>MACOS</Element>
         <Element>IOS</Element>
     </m_AllowedPlatforms>
 </AssetObjects::XLP>

*** UILeaders.xlp [#e8545765]

 <?xml version="1.0" encoding="UTF-8" ?>
 <AssetObjects::XLP>
     <m_Version>
         <major>4</major>
         <minor>0</minor>
         <build>253</build>
         <revision>293</revision>
     </m_Version>
     <m_ClassName text="UITexture"/>
     <m_PackageName text="UILeaders"/>
     <m_Entries>
         <Element>
             <m_EntryID text="LEADER_hogehoge_NEUTRAL"/> ★変更
             <m_ObjectName text="LEADER_hogehoge_NEUTRAL"/> ★変更
         </Element>
         <Element> ★追加 
             <m_EntryID text="PORTRAIT_hogehoge"/> ★追加
             <m_ObjectName text="PORTRAIT_hogehoge"/> ★追加
         </Element> ★追加
     </m_Entries>
     <m_AllowedPlatforms>
         <Element>WINDOWS</Element>
         <Element>LINUX</Element>
         <Element>MACOS</Element>
         <Element>IOS</Element>
     </m_AllowedPlatforms>
 </AssetObjects::XLP>

** FallbackLeaders.artdefの編集 [#zfba9b51]

以下を書き換えるだけです。

                                     <Element class="AssetObjects::BLPEntryValue">
                                         <m_EntryName text="FALLBACK_NEUTRAL_hogehoge"/> ★ここ
                                         <m_XLPClass text="LeaderFallback"/>
                                         <m_XLPPath text="LeaderFallbacks.xlp"/>
                                         <m_BLPPackage text="LeaderFallbacks"/>
                                         <m_LibraryName text="LeaderFallback"/>
                                         <m_ParamName text="BLP Entry"/>
                                     </Element>

** NewLeader_Config.xmlの編集 [#p0b685ce]

PORTRAIT画像を指定している以下の箇所を書き換えます。

&ref(PORTRAIT.png);

** ローディング画面、外交交渉画面の設定記述 [#qf545f83]

用意しておいた残りの画像ファイル3つを登録します。

&ref(ImageAdded2.png);

さらに、Property画面から画像のImportを指定します。

&ref(ImportImage.png);

そしてここからxmlを書きます。
新規にファイルを追加してもいいですし、どこかに混ぜても構いません。
本例ではNewLeader_JasperKitty.xmlに混ぜ込むことにします。

NewLeader_LoadingInfo.xml
 <?xml version="1.0" encoding="utf-8"?>
 <GameInfo>
 	<LoadingInfo>
 		<Row LeaderType="LEADER_JASPER_KITTY" BackgroundImage="Background.dds" ForegroundImage="Foreground.dds" LeaderText="LOC_LEADER_JASPER_KITTY_DOM_TEXT" PlayDawnOfManAudio="1"/>
 	</LoadingInfo>
 </GameInfo>
(新規にファイルを追加した場合はPropertyへのファイル登録を忘れないように。In-Game Actions⇒UpdateDatabaseのところです。)

NewLeader_JasperKitty.xml
     <DiplomacyInfo>
         <Row Type="LEADER_JASPER_KITTY" BackgroundImage="hogehoge_DiplomacyInfo_Background.dds"/>
     </DiplomacyInfo>
     <LoadingInfo>
         <Row LeaderType="LEADER_JASPER_KITTY" ForegroundImage="hogehoge_LoadingInfo_Foreground.dds" BackgroundImage="hogehoge_LoadingInfo_Background.dds" LeaderText="LOC_LEADER_JASPER_KITTY_DOM_TEXT" PlayDawnOfManAudio="1"/>
     </LoadingInfo>

DiplomacyInfoが外交交渉画面です。
こちらはリーダーの指定と背景画像の指定のみ。
LoadingInfoがローディング画面です。前景、背景を登録します。
LeaderTextはローディング画面にでてくる指導者固有の説明書きの部分です。
必要なければ削除してOK。追加する場合はNewLeader_Text.xmlへ書いてください。

PlayDawnOfManAudioはゲーム開始(再開)時の時代に合わせた文章のナレーションボイス。0にするとボイスオフ。

書いたxmlをプロパティのInGame ActionsのUpdateDatabaseの項目へ登録。

背景に懐かしいWindowsXPの標準壁紙と結月ゆかりさんを使ってみた例です。
&ref(20170610004523_1.jpg);
** 成功例 [#t1b5028b]

** 外交交渉画面 [#a6214aad]
文明選択画面

ローディング画面と同じようにDiplomacy.dssをSDKへ登録してください。プロパティへ登録するのも忘れずに。
&ref(BeforeGameStart.jpg);

xmlは以下です。
Loading画面

NewLeader_DiplomacyInfo.xml
 <?xml version="1.0" encoding="utf-8"?>
 <GameInfo>
 	<DiplomacyInfo>
 		<Row Type="LEADER_JASPER_KITTY" BackgroundImage="Diplomacy.dds"/>
 	</DiplomacyInfo>
 </GameInfo>
&ref(Loading.jpg);

こちらは単純で、リーダーの指定と画像の指定しかありません。
書いたxmlをプロパティのInGame ActionsのUpdateDatabaseの項目へ登録しましょう。
外交交渉画面

以下、例。こちらはFedoraのデフォルト壁紙にしてみました。
&ref(20170610010929_1.jpg);
&ref(Diplomacy.jpg);

** 備考 [#n6391db5]

文明選択画面の画像は用意しなくてもいい場合があります。
FALLBACK_LEADER_hogehogeを使っても違和感がない場合はつくらなくてOK。
(たとえばボイスロイドの立絵だときれいに調整されて枠に収まるケースが多いです)



このエントリーをはてなブックマークに追加