takeyohのおぼえがき

気になったこと、試したことの記録です。

ナンバープレートの作成

Content Managerのカスタムショールームでもナンバープレートの作成機能あるのですが、

・car modのナンバープレートがPlate_D.ddsというオブジェクト名で作成されていないと対応できない

・商用車(バスとかタクシーとか)のナンバープレートは作成できない。

という課題があり、ナンバープレートを簡易的に作成する方法です。

まず、ナンバープレートの絵柄については、Webのサービスを使うことにしました。

 

number-plate.nyankobass.net

一般車、商用車どちらのナンバープレートも作成できます。

(もともとはプラモデル用なのかな?)

ここで作成したナンバープレートをまずSKINに保存します。

#ここではcar modのナンバープレートがPlate_D.dssとして書きます。

Plate_D.dssで保存。

(Plate_D.ddsで保存する前のpaint.netの状況)

ちなみに、dssフォーマットが扱えるソフトはいくつかありますが、自分はpaint.netを使っています。

ddsフォーマットで保存するときは、”BC3(線形, DXT5)”を選択するのを忘れずに。

次に、立体的な陰影をつけるためのPlate_NM.ddsを作成。

あらかじめ、①紫色をつけるレイヤー、②プレートの枠を立体化するためのレイヤー、あと③先ほどのナンバープレートをエンボス加工してから貼り付けるレイヤーを用意し、それを統合してPlate_NM.ddsとして保存します。

①紫色をつけるレイヤー(ブレンドモードはオーバーレイ)

 

②プレートの枠を立体化するためのレイヤー(ブレンドモードは通常)

 

③Plate_D.ddsのナンバープレートをエンボス加工してから貼り付けるレイヤー
ブレンドモードは通常)

①~③を重ねるとこうなります。→Plate_NM.ddsとして保存。

 

ちなみに、ksEditorで車を作成するとき、ナンバープレートのマテリアルは以下の設定にしています。

[MATERIAL_XX]
NAME=jp_plate
SHADER=ksPerPixelNM
ALPHABLEND=0
ALPHATEST=0
DEPTHMODE=0
VARCOUNT=12
VAR_0_NAME=ksAmbient
VAR_0_FLOAT1=0.3
VAR_0_FLOAT2=0,0
VAR_0_FLOAT3=0,0,0
VAR_0_FLOAT4=0,0,0,0
VAR_1_NAME=ksDiffuse
VAR_1_FLOAT1=0.35
VAR_1_FLOAT2=0,0
VAR_1_FLOAT3=0,0,0
VAR_1_FLOAT4=0,0,0,0
VAR_2_NAME=ksSpecular
VAR_2_FLOAT1=0.8
VAR_2_FLOAT2=0,0
VAR_2_FLOAT3=0,0,0
VAR_2_FLOAT4=0,0,0,0
VAR_3_NAME=ksSpecularEXP
VAR_3_FLOAT1=80
VAR_3_FLOAT2=0,0
VAR_3_FLOAT3=0,0,0
VAR_3_FLOAT4=0,0,0,0
VAR_4_NAME=ksEmissive
VAR_4_FLOAT1=0
VAR_4_FLOAT2=0,0
VAR_4_FLOAT3=0,0,0
VAR_4_FLOAT4=0,0,0,0
VAR_5_NAME=ksAlphaRef
VAR_5_FLOAT1=0
VAR_5_FLOAT2=0,0
VAR_5_FLOAT3=0,0,0
VAR_5_FLOAT4=0,0,0,0
VAR_6_NAME=fresnelC
VAR_6_FLOAT1=0
VAR_6_FLOAT2=0,0
VAR_6_FLOAT3=0,0,0
VAR_6_FLOAT4=0,0,0,0
VAR_7_NAME=fresnelEXP
VAR_7_FLOAT1=1.5
VAR_7_FLOAT2=0,0
VAR_7_FLOAT3=0,0,0
VAR_7_FLOAT4=0,0,0,0
VAR_8_NAME=nmObjectSpace
VAR_8_FLOAT1=0
VAR_8_FLOAT2=0,0
VAR_8_FLOAT3=0,0,0
VAR_8_FLOAT4=0,0,0,0
VAR_9_NAME=isAdditive
VAR_9_FLOAT1=0
VAR_9_FLOAT2=0,0
VAR_9_FLOAT3=0,0,0
VAR_9_FLOAT4=0,0,0,0
VAR_10_NAME=fresnelMaxLevel
VAR_10_FLOAT1=0.05
VAR_10_FLOAT2=0,0
VAR_10_FLOAT3=0,0,0
VAR_10_FLOAT4=0,0,0,0
VAR_11_NAME=boh
VAR_11_FLOAT1=0
VAR_11_FLOAT2=0,0
VAR_11_FLOAT3=0,0,0
VAR_11_FLOAT4=0,0,0,0
RESCOUNT=2
RES_0_NAME=txDiffuse
RES_0_SLOT=0
RES_0_TEXTURE=Plate_D.dds
RES_1_NAME=txNormal
RES_1_SLOT=1
RES_1_TEXTURE=Plate_NM.dds

これでカスタムショールームやゲーム内ではナンバープレートが反映されます。

車によってはext_config.iniとかでナンバープレートのデータを上書きしている場合があります。この場合は、せっかくSKINフォルダ内に作成したナンバープレートを保存しても、ゲーム等に反映されません。

 

/* -----codeの行番号----- */