忍者ブログ
はじかきれんしゅうちょう いろいろ
Admin  +   Write
×

[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
            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は上がり眉!とか)
すごく楽なのではと思いました。そういう顔しないよってキャラもいそうですが・・・
女児のころやってた「番号だけ相手に聞き取って、描く方は事前に作っといたシートから
対応する番号のパーツを描いて人間の絵を完成させるやつ」みたいですね・・・
太古の昔のおえかきキッズ時代からやってること変わってねえってことだな・・・


●顔グラ(研究後別日にて・・・)
サイドイメージ(顔グラ)で使うときは
同じくlayeredimageでサイドイメージのところにスクリーンを作って
変数を使って差分を表示させるそう。(今後着手します)

試してまとまったら何か追記するかもですが、立ち絵の方と違って
顔グラの方は内容の近い公式の元記事が見つけらんなかったものでして・・・
まったくもって教えていただいた内容なので、ただそれを紹介するだけになるというか
人様の手柄というか、スクリプトの著作権のようなことがあるんでは?と思うと
ここで開示すんのはどうなのか?みたいな思いもあり・・・

まあただ多分「試してまとまる」のが結構先なので(私の理解力の問題で)
その時に考えます!!!
PR
Comment
color
name
subject
mail
url
comment
pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
ブログ内検索
このブログについて
ゲーム作りたい人のメモ。
講座というほどのものでもないおぼえがきです。
何か参考になるところがあればご自由にどうぞ。
ほぼ自分用なので、日本語いきあたりばったりでごめんなまし。

※ここに書いたことは全体的に
「本当はなんとかする方法があるかもしれないけど、私にはわからない」が多く…
あんまり仕組みを理解していないし誤解もあるかもしれません。
というわけで責任は負いません。ごめんなさい!

リンク:ゲーム作ってる本館
material by bee  /  web*citron
忍者ブログ [PR]