アールベイカー インスパイヤード バイ コートロザリアン

日記のネタがない。

今日は日曜で桜台にいたので、パン買ってきた。「アールベイカー インスパイヤード バイ コートロザリアン」っていうスゲー長い名前のパン屋さん。桜台駅の一階にある。ちなみに経営は、大阪王将だ(笑)。今日は女の人が焼いてたなぁ。いつもチャラいお兄ちゃんが焼いてるんだけど……(日記にはあまり出てこないが、実はちょこちょこ利用している)。

このお兄ちゃんが、ツンデレなのよね(ぁ
売り切れた商品をお客さんから求められて、キレつつも焼いてくれるというツンデレっぷり(もちろん寝かし済みのタネがあったからなんだろうけど)。
きっと女子に人気に違いない(ぉ

しかしご多分に漏れず、値段がお高い。5 種類買ったんだけど、1538 円。一個 300 円だ。

そもそも一食で 5 個も食うなよって言われそうだけどw
普通の人は一食で何個くうんだろう……。ボクとか 10 個とか平気で食える。もし腹一杯食べようとすると、5000 円くらいかかるんじゃなかろうか。ラーメン屋っていうかステーキ屋で食べるよりも高いぞ、パンw

ネタがないついでにたまたまキャラスロ引いてたら、以下の様なのが出た。
同じキャラで、なおかつ全部ちゃんと服装が違う。しかも全部ジト目!! 最高やないかーい!
これの確率すごいんじゃなかろうか……どう計算すればいいかさっぱりわからないけど(汗)。
数百万分の一にはなるはず……? いやもっとかも……。単純計算すると 1/161344 なんだけど、たぶんそうじゃないと思うのよね……。

それにしてもこんなことで運を使い切るとは……。

キャラを配置する話

前回、キャラの表示部分だけ作った『キャラスロ』。
キャラが重なって表示されるようにしたら、位置がぜんぜん揃わなくなった。そもそも何故こういうことが起きるのか、解説。

まず表示の基本は、画面をキャラの数分に区分けすることだ。3 人表示なら 3 分割。5 人表示なら 5 分割だ。これは単純に(ブラウザの幅のドット数÷キャラの人数)で求められる。幅が 1920 ドットあってそこに 5 人表示しようとすると、1920÷5 で、一人あたり 384 ドットが割り当てられる。
この 384 ドットに収まるようにキャラを表示してしまうと、前回のようにキャラの大きさがまちまちになってしまう。何故かというと、キャラによって幅が違うからだ。
たとえば下の二人のキャラクタは、左は 929 x 1453 ドット、右は 547 x 1463 ドットある。

これを同じ 384 ドットの幅で表示してしまうと……以下の様にキャラクタの大きさがバラバラになってしまうのだ。

そこで、大きさはそのままに、表示位置をこの384 ドットごとを基準に表示したのが一番上のツイートのスクリーンショットだ。これを一キャラ毎に分解すると、以下の様な様子になる。

画面を 5 分割
分割線とキャラの左端を

ぴったり合うように配置して

いくと、こんな感じに幅が

大きいキャラほど
右にずれていくwww

この状態を全キャラ重ねてしまうと、以下の様なひどい有様にwwww
汐(5 番目のキャラ)に至っては、髪の毛しか表示されていない(汗

そこでどうしたかというと、これまた手抜きな解決方法なのだが、キャラ画像の中心と、分割したエリアの中心を合わせるというものだ。図で示すと、分割された中心(青い線)と、キャラの中心(青い線)を合わせる。

こうすることによって、以下の様にだいぶマシになる。しかしこれでもやはり髪の毛などでどちらかに偏っているキャラクタは、表示がおかしくなる(三番目のつぐみと 5 番目の汐)。

三番目、5 番目のような偏ったキャラクタをちゃんと表示させるには、キャラの身体の中心に合わせるべきなのだが……。
残念ながら座標系の数値だけではキャラの身体の中心を求めることはできない。こればかりは一つ一つの画像を目で見て確認して、中心位置を決めるか、それこそ AI(機械学習)でやるしかない。


キャラの身体に中心線を置いた場合

←の中心線と合わせた場合

めんどくさいなー。
実はこれ、萌え時計でも同じ問題が起きている。以下の様にキャラクタが偏って表示されてしまうのは、上とまったく同じ現象なのだ(^^;

ちなみにこの問題はそもそもゲームでも起きているのでは? と気付いた方もいるとおもう。そう、その通り。これは当然、ゲーム内でも起きる問題だ。ゲームではどうしているかというと、CG さんが絵描きさん監修の元、一つ一つ表示位置を決めているのだ!
具体的には Photoshop でゲーム画面と同じ大きさのカンバスを作り(例えば 1280x720 ドットや 1920x1080 ドット)、そこにそのキャラの決まったポーズデータを重ねて、一人で表示したときの位置に配置するのである。ポーズごとに配置する理由は、ポーズが同じならば(基本的には)配置座標は同じだからだ。
そしてゲームのデータにコンバートするとき、その座標データも含めてコンバートして圧縮しているというわけだ。

今回のキャラスロや萌え時計はゲームと画面の大きさが異なるため、キャラの中心の出し直しが必要というわけである。

ちなみに 3D の世界ではこの問題はどうやって解決しているかというと、3D はそもそも作られるオブジェクト(立ち絵など)はすべて mm や  cm の単位で作られる。だからキャラの大きさというのはすべて正しく保たれた状態で制作されている。また 3Dモデルにはボーンというものがあり、キャラの身体の中心も、ちゃんとプログラム側で解るようになっているのだ。
なのであとは配置したあと、どこにカメラを置くかで勝手に絵が決まる。
3D ってこういうところは逆に楽できるのよね~。

話は変わって、ボクは仕事中に BGM をかけていることが多いというか、社会人になってからずっとそうして過ごしてきたのだが、30 代も半ばになって、動画をバックでかけるようになった。これは音楽だけでなく、ニュースやお笑い、映画など他のソースにも触れておきたいという「資料集め」の一環ではじめたことだ。

なのだが……。

やはりしゃべりのある情報は、文章を書くときやプログラミングでアルゴリズムを練っているときなどは、どうしても頭に入ってこない。見たものを憶えてないのだ。ボクの脳では、どうやらできないらしい。この辺、女性の方が得意だと聞く。

女性は電話しながら、手では家事をし、さらにテレビを見るということが普通にできる人が多い。

羨ましい。
ただこの並列作業、脳にはけっこうな負担らしく、痴呆を早めるという記事をどこかでみたが……今検索してもちょっと見付けられなかった。

ながら族、憧れの能力である。

キャラスロ、作ってみた

事の発端は、↓の記事である。そしてこちらのツイート

エロゲの立ち絵をランダムに並べたら、いろいろな役ができるというものだ。
これを実際に軽くではあるが、組んでみた。

立ち絵データは『萌え時計』のものだ。萌え時計は全身のデータがすでにあり、そこから切り抜いて貼り付けているので、キャラスロもこうしてほぼ全身で表示することが出来る。
惜しむらくはね、解像度がね……。
ホントはもっと高繊細なデータで出したいんだけど……作るのが滅茶苦茶めんどくさいのでとりあえず萌え時計と同じデータを使っている。

プログラムは単純にランダムな立ち絵を並べるだけだ。
それ以上のものではない。
今後の必要な処理として以下があげられる。

  1. 大きさや位置がバラバラ
  2. 演出
    スロットマシーンみたいにキャラがリール状に表示されるとか、当たり・外れの派手な演出とか。
  3. 役決め
    どうそろうとどれだけの価値があるのかとか。たとえば「同じ作品で揃う」「同じキャラで揃う」「幼馴染みキャラで揃う」「ロリキャラで揃う」「イモータル キャラで揃う」などなど。
    これ、真面目にやろうとすると確率を計算して、確率が低いものほど点数を高くしないと行けないとか、わりと面倒だったりする。
  4. ポーカーなのか、スロットなのか、麻雀(ドンジャラ)なのか
    ポーカーなら 4 キャラ、スロットなら 3 キャラ、麻雀なら 5 キャラでやるのがよいと思っている。

まぁ、いまめっちゃ忙しいので、果たして続きが作れるかは謎だけどw


立直

叶(同時に作品も統一)

これも立直

汐!全部制服だったらさらに役が上がってた

キャラは立直だけど、下着という役が成立

こちらは麻雀用。お嬢様という役(笑)