×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
■まえがき
前の記事で「立ち絵決定版」とかいってたけど全然決定版じゃなかったのでもうだめです。シン・ってつけると最近の世の中的にはザ・ファイナルな勢いが出るらしいので
そういう記事タイトルになりました。
中身としては、ご厚意で教えていただいた「layeredimage」での立ち絵の差分指定方法です。
公式にはこちら→レイヤード画像
紹介いただいた目パチ研究記事→layeredimageと目パチ / Ren'Py memo
ありがとうございました……。
■layeredimage
layeredimageとは! 画像をレイヤードするやつです(そのまま・・・)ベース画像の上にパーツを載せる形です。
ベースを透明にしておくと衣装差分も「パーツ」にできます。
福笑い方式でないならim.Compositeでも・・・と思うかもですが
汗とか照れとかのオプションを載せたいときの自由度がダンチだったり
大きさ指定しなくてすむとかそもそもスクリプトがスマートだったりとかで
絶対こっちのがいいです。
im.Compositeみたく組み合わせ全パターンを定義する必要がないので、
とってもスリムな感じになります。やった
■layeredimageによる立ち絵
⓪画像の手配とキャラ番号(「」と#のあとがしばらく画像ファイル名です)・キャラ番号を「0」としました。
・ベース画像を用意→「0_base.png」#キャラ番号_base
・差分は 1⃣ h→服、2種 「0_H_H1.png」#キャラ番号_group名大文字_group名と任意の番号
2⃣ b→眉、5種 「0_B_B1.png」#キャラ番号_group名大文字_group名と任意の番号
3⃣ m→目、10種 〃
4⃣ k→口、15種 〃
5⃣ d→オプションパーツ 3種(透明画像含) 〃
h、bとかがgroup名です。これらがそれぞれ後述するgroupってやつになる。
ブローのbで始まって「me」とか「kuchi」とかやめろ~とかなるかもですが
(mouthもmだし)なんだか慣習でして・・・・
※画像ファイルの場所は今回はimages直にしました。
※画像ファイルの大文字(実際のファイル名)と小文字(定義)の関係が謎ですが、
お手本のままお借りしています(恵方を拝みながら)
①face.rpy(差分指定用に別に作ってます)での定義
layeredimage 0:#キャラ番号=●
always "0_base"#ベース画像ファイル名
group h:#服のグループ
attribute h1 default#1つめ、ドレス
# "0_H_H1"(意味ないですが画像名のメモとして残しています)
attribute h2#2つめ、普段着
# "0_H_H2" (〃)
group b:#まゆ ●_B_B数字.png
attribute b1 default
attribute b2
attribute b3
attribute b4
attribute b5
group m:#め ●_M_M数字.png
group m:#め ●_M_M数字.png
attribute m1 default
attribute m2
attribute m3
attribute m4
attribute m5
attribute m6
attribute m7
attribute m8
attribute m9
attribute m10
group k:#くち ●_K_K数字.png
attribute k1 default
attribute k2
attribute k3
attribute k4
attribute k5
attribute k6
attribute k7
attribute k8
attribute k9
attribute k10
attribute k11
attribute k12
attribute k13
attribute k14
attribute k15
group d:#そのた
attribute d0 default#デフォルトはオプションなし(透明画像)にしている
attribute d1
attribute d2
attribute d3
②script.rpyでの定義define nk = Character('ネシュカ', color="#e9f7b7", image="0")#キャラ番号=0
③script.rpyでの本文中
show 0 h2 b1 m2 k2 d0 at top with dissolve#表示
nk h2 b2 m4 k4 d1 "テストですわ――" #顔変化(普通1セリフ目は表示時と同じ顔だけど)
#定義済キャラ名(nk)とセリフの間に差分(layeredimage 0として定義)をのせてできあがり!!
これって一回作っといて固定で描きだしていけば(眉=bでb1は上がり眉!とか)
すごく楽なのではと思いました。そういう顔しないよってキャラもいそうですが・・・
女児のころやってた「番号だけ相手に聞き取って、描く方は事前に作っといたシートから
対応する番号のパーツを描いて人間の絵を完成させるやつ」みたいですね・・・
太古の昔のおえかきキッズ時代からやってること変わってねえってことだな・・・
#定義済キャラ名(nk)とセリフの間に差分(layeredimage 0として定義)をのせてできあがり!!
これって一回作っといて固定で描きだしていけば(眉=bでb1は上がり眉!とか)
すごく楽なのではと思いました。そういう顔しないよってキャラもいそうですが・・・
女児のころやってた「番号だけ相手に聞き取って、描く方は事前に作っといたシートから
対応する番号のパーツを描いて人間の絵を完成させるやつ」みたいですね・・・
太古の昔のおえかきキッズ時代からやってること変わってねえってことだな・・・
●顔グラ(研究後別日にて・・・)
サイドイメージ(顔グラ)で使うときは
同じくlayeredimageでサイドイメージのところにスクリーンを作って
変数を使って差分を表示させるそう。(今後着手します)
試してまとまったら何か追記するかもですが、立ち絵の方と違って
顔グラの方は内容の近い公式の元記事が見つけらんなかったものでして・・・
まったくもって教えていただいた内容なので、ただそれを紹介するだけになるというか
人様の手柄というか、スクリプトの著作権のようなことがあるんでは?と思うと
ここで開示すんのはどうなのか?みたいな思いもあり・・・
まあただ多分「試してまとまる」のが結構先なので(私の理解力の問題で)
その時に考えます!!!
PR
Comment
ブログ内検索
最新記事
(06/04)
(06/17)
(06/11)
(06/08)
(12/12)
このブログについて
ゲーム作りたい人のメモ。
講座というほどのものでもないおぼえがきです。
何か参考になるところがあればご自由にどうぞ。
ほぼ自分用なので、日本語いきあたりばったりでごめんなまし。
※ここに書いたことは全体的に
「本当はなんとかする方法があるかもしれないけど、私にはわからない」が多く…
あんまり仕組みを理解していないし誤解もあるかもしれません。
というわけで責任は負いません。ごめんなさい!
リンク:ゲーム作ってる本館。
講座というほどのものでもないおぼえがきです。
何か参考になるところがあればご自由にどうぞ。
ほぼ自分用なので、日本語いきあたりばったりでごめんなまし。
※ここに書いたことは全体的に
「本当はなんとかする方法があるかもしれないけど、私にはわからない」が多く…
あんまり仕組みを理解していないし誤解もあるかもしれません。
というわけで責任は負いません。ごめんなさい!
リンク:ゲーム作ってる本館。