GT7、デカールの作り方(3)~グラデーション~

 今回は、単色デカールの技術の高等編とでも言いましょうか、グラデーションを紹介します。ここまでフィルは単一色を選択していましたが、その隣にある『線形グラデーション』を選びます。すると、なんか半分霊体になりかけたような色になります。

 
 下部にあるちょっと薄くて見にくいアイコンが『グラデーションの編集』なので、これをクリックします。すると、オブジェクト上に□と〇と直線が現れます。

□がグラデーションの開始地点、〇が終了地点で、徐々に不透明度が下がって行きます。クリックしてドラッグすると向きや長さを変更することができます。また、□と〇にはそれぞれ色を設定することができます。とりあえず、□をロゴの上部へと移動、〇には白を設定してみました。上から下へグラデーションがかかり、青から白へ変化させることになります。すると

こうなりました。初期状態では終点で不透明度が0になるようになっていますが、色と同様にこちらも編集できるので単に色の変化だけを起こすこともできます。
 また、直線上をダブルクリックすると中間点に+マークを追加できます。するとここにも新たに色を設定できます。点を設定しまくり、色を入れまくったら


こんな不気味な色も作れます。なお、Inkscapeは結構クセが強くて、本来は一度色を吸い上げたら矢印に戻るはずのスポイトツールが戻らなかったり、中間点を増やそうとダブルクリックしてもオブジェクト選択になってしまってうまく行かなかったりという些細な問題はよく起こります。その場合、もう一度『線形グラデーション > グラデーションの編集』と進んで作業を行うとたいていちゃんとできます。
 グラデーションでよくあるのが、灰色系と白系を適度に交互させて

メタリック感を出す、というやつです。黒いストロークをちょっと足してやるとエンブレムっぽい雰囲気を出せます。

 ただ、こうやってInkscape上でグラデーションを作ること自体はさほど難しくないのですが、これをグランツーリスモ上で読まそうとすると、やたらと不具合が起きます。代表的なのが、
・真っ黒になる
・グラデーションが適用されずただの単色になる
・何も表示されない
の3点です。なぜこうなるのかはInkscapeで生成されたファイル内の言語を読み解ける知識が無いと具体的にはさっぱり分からないので私には無理なのですが、詳しく検証されたサイトがあります。
 問題の原因の1つは『1つのファイル内に同じ色・透明度で設定されたグラデーションが複数あると表示されなくなる』というもの。上記サイトの解説を私なりに解釈してものすごく簡単に言うと、できるだけ簡素に仕上げるためにSVGファイルは
 図形A:形状は四角形、色は共通で別途参照
 図形B:形状は四角形、色は共通で別途参照
 色:青から始まって白で終わるグラデーション
というような指示内容で書き出されるそうです。が、この『色は別途参照』という部分がグランツーリスモ上では読み込めないようで、ゲーム上では『色?知らない子ですねえ』となって真っ黒になってしまう、という感じです。
 そのため、複数のグラデーションを設定する場合、RGBの値を始点か終点で1つズラすだけで構わないのでいじってあげると、『別途参照』という指示が生成されないため問題解決になります。これは目から鱗。
 一方で、単色になってしまったり、そもそもオブジェクトごと透明になって消え去ってしまうのは、おそらく差分などの演算をさせた時の不具合と同じで、色々やっている間にファイルに書き出された文字列をゲームが読めないせいと思われ、検証や解消が難しくなります。
 この場合は面倒ですが、一旦グラデーションを設定解除して単色に戻して改めて作り直したり、差分で消えた部分を戻すのと同じように複製や結合で存在を取り戻してあげないといけないと思われます。何回か私もこれで苦労しました。
 ただ、この記事を書くために改めて私も同色のグラデーションを作ってみたのですが、ファイル内の色指定に諸悪の根源である xlink:href を利用した構文が現れず、書いておきながら自分で再現できないというオチが付いてしまいました。なんか行ける時もあるみたいです(※本来は要検証)
完成したと思ったらほぼ全部透明になって泣いた
紙用マッキー水性ペン


 線形グラデーションのお隣にある放射グラデーションもグランツーリスモ上で機能します。ただし、楕円ではだめで綺麗な円形に設定されている必要があるとのこと。使い方は線形グラデーションと同じで、円形を選ぶと開始地点と終了地点が表示され、色を設定したり、追加したりできます。


 円形の場合終点が2か所あって、本来なら長さを変えることで楕円にグラデーションを設定することができるんですが、前述の通りこれをやってもグランツーリスモ上では妙なことになってしまいます。思い通り行かないと思われます。
 また、M_Anonyさんが検証された情報によると、グラデーションを設定した後にこの位置を変更すると問題が発生するようです。簡単に言うと、例えば座標を X=0,Y=0 から、X=-10,Y=+10 へ動かしたとします。これを『X=-10,Y=+10』と書き出してくれれば問題ないんですが、Inkscapeではこれを『X=0,Y=0 で、ここからXを-10、Yを+10 座標を移動した』というような情報で書き出してしまうそう。
 そうすると、同色グラデーションをゲーム上で読めなかったのと同様に、ゲーム上でこの移動しましたよ情報を読み込めず、『ザヒョウヲイドウ、シラナイコトバデスネ』と、不具合になってしまいます。

 M_Anonyさんはどうにかしようと、こうしたGTで読めないものをさっくり取り除いてうまく置き換えてくれる修正プログラムというのを作成されました。ただ、経験談で言うと、単純な形状の図形で作るぐらいなら良いんですが、複雑なロゴを作ってあれやこれややった末にグラデーションを設定すると、地雷がたくさん撒かれていて何かしら問題が残ることがあり、特に放射は何かしら失敗しがちです。
 失敗して直す根気があれば良いのですが、途方に暮れることもあるので作成する際は気を付けましょう。線形と放射を同時に使用したら放射だけ反映されずに単色化されて解決できなかったこともあります、放射を妥協して線形にするもの1つの手です。

コメント