2015年1月30日金曜日

Divinity - Original Sin をプレイ中 主人公キャラアイコン変更MOD

クリア後のゲームの感想はこっち
http://genoncoollooc.blogspot.jp/2015/05/divinity-original-sin.html

いまDivinity - Original Sinやってます。面白いです。シリーズ一作目のDivine Divinity の前の時代の話らしい。

自分はDivine Divinityもやってるけれど、あれは見下ろし型のフィールドをマウスクリックしてキャラをちょこちょこチェスのコマを動かすように動かしていく感じの昔のゲームという感じだった。ゲームシステム的には有名なところでいえばDiabloみたいなゲーム。細かいイベントの数が多くて、しかもイベント解決方法は明らかに善人だけど依頼されたので殺しちゃってもOK、みたいなのが多くて海外ゲームだなあという感じ。自分はそういうの大好きなのでかなり楽しめた。

今作のOriginal Sinも1作目で評価されていたであろう部分はほぼ同じ。ただ戦闘がターン制になっていたり、ステータスやスキルの項目がかなり増えていた。戦闘がターン制になったのは良かったかもしれない。一作目はリアルタイム戦闘だったので、とにかく攻撃をするためにもマウスクリック連打とかしててかなり疲れる感じだったので。あと一作目では動かせるキャラは1人だったけど、今作は2人以上動かせるようになってた。 これならキャラクターごとにステータスを調整して、アイテム製作キャラ、鍵開けキャラ、交渉人、なんかと役割分担ができるので面白い。

あとグラフィックはいまどきの3Dになってるけど2Dのキャラアイコンとかは昔風の感じになってて、今どきこれなの?とは思ったけど多分キャラデザしてる人がずっと同じなんだと思う。馴染みのある人を使い続けてる感じなんだろうなと思った。人材を大事にしてる感じはいいんだけどやっぱパッケージのキャラ絵とかも古臭い。10~20年前の絵柄。
ただ3Dキャラの顔とそのキャラに使う2Dのキャラアイコンの絵があまりにも違いすぎて困る。キャラメイク用に複数パターン3Dキャラの顔は用意されていていて、キャラの容姿は今風で美形なものもあるのだけれど2D絵がDevine Divinityの頃とまったく同じで合っていない。これがどうしても気になるのでいろいろ調べたがこのゲームはMODが使えるしキャラアイコンとか変更できるらしいので自分で変更してみた。


新しくキャラ用のアイコンを用意してそれを使ってゲームをしていると、そのキャラアイコンを後から使用不可にしたらそのキャラアイコンを使っていたセーブデータも使用不可になるらしい。でも既存のキャラアイコンを書き換えるだけならそういうこともないらしいのでその方法で変更することにした。

おおまかなことはここを参考にした
http://www.larian.com/forums/ubbthreads.php?ubb=showflat&Number=505777

ゲームをインストールしたフォルダの中に拡張子pakファイルがいくつかあってキャラの顔のアイコン用のテクスチャーが入っているファイルはTextures.pakというやつ。これを lstoolsという名前のアプリで解凍して、Portraits_MainPL_CP_Icons.ddsというファイルを取り出す。これをgimpとかphotoshopで開いて編集していく。ddsファイルを開くには専用のプラグインが必要なので注意。キャラの顔は64x64ピクセルの範囲に描いていく。
編集が終わったらファイル名はPortraits_MainPL_CP_Icons.ddsにしてDDSファイルとして保存。保存するときのDDSの設定は8.8.8 format (unpacked, 24 Bit RGB), "No MIP maps"。
このDDSファイルをゲームをインストールしたフォルダーの中に新しくフォルダーを作って置けばキャラアイコンが入れ替わる。フォルダーはこんなかんじに作る。
xxxxx\Divinity - Original Sin\Data\Public\Main\Assets\Textures\Icons
 ここのIconsというフォルダーに編集したPortraits_MainPL_CP_Icons.ddsを入れればOK。

あとPortraits_MainPL_CP_Icons.ddsには仲間になるキャラの顔グラまで入ってるっぽいのでネタバレ注意。ddsファイルの上の方にある奴がそれっぽい。自分はうっかり見てしまったのでかなりがっかりした。ちなみに自分の作った3Dキャラはこんな感じ


女キャラはそばかす?みたいのがある。これキャラメイクの時には小さすぎて気付かなかった。赤髪にしたら白肌、赤毛の人になってたのに黒髪にしてしまった。
キャラ設定は女キャラは敵陣に突っ込んでいって両手剣ぶん回す騎士。(上の画像ではデカイ両手持ちの斧を背負ってる。)仲間の能力値が上がるリーダーシップスキル持ち。男キャラは 白髪の魔法使い。動物と話せるPet Palスキル持ち。逃げまわるニワトリやドブネズミを捕まえて無理やり会話するサイコパスだがカリスマ値が高いので交渉人キャラでもある。それでこれに似たデフォルトのキャラアイコンを探した。近いやつはこれ。


男の方はまだいいとして女の方はない。似てなさすぎる。ほうれい線がくっきり出過ぎ。あと小鼻の形が曖昧で、鼻の穴が結構しっかり見えるので豚っ鼻にみえる。アイシャドウが濃すぎて目が目立たないし、眉毛が何処にあるのか分からない。黄色いフィルライトが強すぎて視線誘導的にNGだしキャラの色味とも合ってない。髪の毛もぐちゃぐちゃだし首が太い。それになんかちょっと笑ってるのが嫌だ笑 なので整形した。結果はこれ。



女キャラは騎士というより爪に黒いマニキュア塗って悲しみや死をテーマにポエムを描いてそうなGOTH女になってしまった。髪の毛が黒くて背景が黒だとわけわからなくなるので背景は明るめに。男の方は元がいい感じだったので編集はテキトー笑
ちなみにこの画像は両方共64x64サイズです。いないだろうけど使いたい人いたらどうぞ。

自分で描いたほうが愛着沸くので今回は自作したけど、Fallout、SkyrimなどなどいろいろなゲームのMODがあることで馴染みのNexusにはOriginal Sin用のキャラの顔アイコンとかたくさんあるみたいなんで気になる人は見てみるといいかもしれない。

2015年1月5日月曜日

Clip Studio Paint+AutoHotkeyを使ってアニメを無理やり作る 改良版

このスクリプトは、一部の処理にOpenAndClose LayerFolderを利用しています。
入手先: ディメトロのblog(絵):OpenAndClose LayerFolder(AutoHotkeyスクリプト)- 

以前公開していたClip Studio Paintでアニメを無理やり作るためのAHKスクリプト
(アレな出来だったので今は公開停止)を改良。
Clip Studio Paintにはレイヤーフォルダ-を開閉するショートカットがないのは分かっていたのだけれど、ひょっとしたら誰かがどうにかしてくれているのではないかとgoogleで調べていたら、
それをなんとかしてしまっている人を発見。この記事の冒頭に紹介したサイトでディメトロさんが公開しているOpenAndClose LayerFolderというAHKスクリプトの関数を使えばこの前公開した無理やりアニメーションAHKスクリプトはもっと便利になる。
ディメトロさんにはスクリプトの使用許可を貰っているので今回はOpenAndClose LayerFolderを組み合わせた無理やりアニメーションスクリプトを公開。

これがスクリプトです (ZIPファイル)
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
中にあるCSP_animation.ahkを起動して使います。
それとOpenAndClose LayerFolder.ahkを CSP_animation.ahkにincludeする形で動かしているので
両方のスクリプトを同じパスに置いて使ってください。



スクリプト解説
まずクリスタのレイヤー移動と単独表示機能を組み合わせただけの擬似コマ送り機能を改良。
このスクリプトを使うとこういう感じにレイヤーフォルダーの移動ができます。
最初の方がレイヤーフォルダーの中身を 無視して編集レイヤーフォルダーを切り替える機能で
後半がレイヤーフォルダ-の中身を表示しながらコマ送りをする機能。
Clip Studio Paint標準の編集レイヤー切り替えではレイヤーフォルダーごと切り替えることは出来ないです。これはディメトロさんに教えて頂いた現在選択しているレイヤーはレイヤーフォルダ-かどうかを判定する関数が大活躍。


それとこういう感じに開いているレイヤーフォルダーを全て閉じてアニメーションを再生する機能。
レイヤーフォルダーが開いているとレイヤーフォルダーの中身まで表示してしまうので一度全てのレイヤーフォルダーを閉じる必要があります。この前公開していたスクリプトではフォルダーを自動で閉じることができなかったけれどこれもOpenAndClose LayerFolderを使うことで見事解決。


あとは開いているレイヤーフォルダーを全て閉じたり開いたりする機能。
アニメーションを作成している時にフォルダーを閉じたり開いたりすることが多いと思ったので作成。
アニメ以外にも使えそうな機能。



これらの機能があればClip Studio Paintでもアニメが作れると思う 多分


デフォルトのショートカットキー
(AHKで設定されたショートカットを変更したい場合は自分で書き換えてください)
shift+1でレイヤーフォルダーを移動しながら下にコマ送り
shift+2でレイヤーフォルダーを移動しながら上にコマ送り
shit+4で下にレイヤーフォルダー移動
shit+5で上にレイヤーフォルダー移動
(一枚目のgif画像でやっていること)

shift+3で開いてるレイヤーフォルダーを全て閉じてアニメーション再生(もう一度shift+3を押すとアニメーション停止)
(二枚目のgif画像でやっていること)

Pageupで全てのレイヤーフォルダーを閉じる(もう一度Pageupを押すとレイヤーフォルダーを閉じるのをやめる)
Pagedownで全てのレイヤーフォルダーを開く(もう一度Pagedownでレイヤーフォルダーを開くのをやめる)
(三枚目のgif画像でやっていること)

このスクリプトを使用する前にClip Studio Paintで準備すること
まずはショートカット設定を2つ。
"alt+[" に レイヤー > 編集対象にする > 上のレイヤー を割り当てる
"alt+] "に レイヤー > 編集対象にする > 下のレイヤー を割り当てる
あとはアクションを2つ作成する。
まずはレイヤーアイコンをaltクリックすると記録される 他のレイヤーの表示を一時的に切り替えのアクションを用意。これをアクション1とする。
次に
 レイヤー > 編集対象にする > 下のレイヤー
 レイヤーアイコンをaltクリックすると記録される 他のレイヤーの表示を一時的に切り替え
 の順番で記録したアクションを用意。これをアクション2とする
 そしてアクション1に"shift+T"キーをショートカットキーとして割り当て
同じくアクション2には":"(コロンキー)を割り当てる
これでClip Studio Paintの設定は終わり。

それとこのスクリプトは一番上にあるレイヤーが一番最初のコマと考えて作られているので
gif画像のように上から1コマ、2コマ、3コマ、となるようにレイヤーとレイヤーフォルダーを並べること。
あとClip Studio Paintのレイヤーパネルはフローティングにしておくこと。そうしないとディメトロさんのスクリプトが動かなくなるので注意!

 あとはincludeされているディメトロさんのOpenAndClose LayerFolder.ahkを動かすための設定が必要です。レイヤーパネルのオプションには
  
プロパティバーの表示
 コマンドバーの表示
コマンドバーをリストの下に配置

と3つの項目がありますが、チェックが入っている項目がある場合はOpenAndClose LayerFolder.ahkの冒頭部分に書かれた、チェックが入った項目に対応した項目にtrueと書いてください。(設定の詳しい解説は冒頭に張ったディメトロさんのページにあるんで気になる場合は見ておいてください。)

 
OpenAndClose LayerFolderスクリプトから設定部分を抜粋 この部分をレイヤーパネルの設定に応じて変更
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
 propertyBar_Displays := true (デフォルトではtrue) 
 ;「プロパティバーの表示」がONの場合はtrueをセットして、OFFの場合はfalseをセットします。
commandBar_Displays := true(デフォルトではtrue)  ;「コマンドバーの表示」がONの場合はtrueをセットして、OFFの場合はfalseをセットします。
commandBar_PlacedBottom := true (デフォルトではtrue)    ;「コマンドバーをリストの下に配置」がONの場合はtrueをセットして、OFFの場合はfalseをセットします。


Clip Studio Paintで設定するショートカットを変更したい場合はAHKで割り当てられているショートカットを自分で変更してください。それとこのスクリプトは自分が適切だと思うタイミングでショートカットを実行するようにしています。変更したい場合はそこも自分でいじってください。(Sleepの値を変更してください。)

とまあこんなかんじのスクリプトです。正直自分が書いたスクリプトはかなりしょぼいです。includeしているディメトロさんのスクリプトのほうが立派です。これでClip Studio Paintでもなんとかアニメが作れるでしょう。アニメが完成したら各レイヤーフォルダーを単独表示してそのままpngとかで一枚ずつ書き出していくといいと思います。それを外部ツールでgifにするなりaviにするなりすればいいと思います。