キャラを配置する話

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

まず表示の基本は、画面をキャラの数分に区分けすることだ。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 代も半ばになって、動画をバックでかけるようになった。これは音楽だけでなく、ニュースやお笑い、映画など他のソースにも触れておきたいという「資料集め」の一環ではじめたことだ。

なのだが……。

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

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

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

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

レノボとかながら作業とか

いろいろ雑談とか。今日に関係ないことばかりだけど。

レノボの ThinkPad で中国人の落書き

ボクは ThinkPad 信者というかなんというか、ノート PC というとずっと ThinkPad を使っている。IBM からレノボに変わってからも、ThinkPad を使っている。と言うのも買収後も設計は大和事業所の人たちがやっていると聞いていたからだ。
ボクが ThinkPad を愛用する最大の理由はトラック ポイントにある。世の多くのノート PC で採用されているタッチパッドはボクは上手く使えない。アレが普及してしまったのが残念でならない。

さて、件の事件だがこういうのって検品では見つからないモノなのかねぇ。
ノート PC というのはデスクトップ PC とは違い、ユーザがメンテナンスするときでもマザーボード全てが露わになることはない。キーボード部分を外したときが一番露出が多いだろうか。
今回もメモリ交換で解る位置に落書きされていることから、書いた人は当然見られることを考えていると思われる。

中国人に平仮名が書けるものなんだろうかとも思ったが、戦争時代に満州に赴任していた祖父から「中国人は意外と平仮名が読めるので驚いた」と聞いたことがあるので、平仮名のマスターはそんなに大変ではないのかもしれない。
ただ工場で働く人が日本語がわかるのかどうかは疑問に思った。
このツイート主が、この件以降、ほとんどツイートしなくなってしまったのも気になるところではある(汗)

まぁ、でもいつも使っている機械に関する事なので、このツイートはボクの中ではけっこう生々しくうつり、今使っている X200 が壊れたらどうしようかなと思ってしまうようなツイートであった。まぁ、次も ThinkPad を買うとは思うけど……。

会話を聞きながらのながら作業はやはり難しい

端的な言い方をしてしまうとボクは「テレビを見る時間はない」くらいに忙しい。時間ができてもテレビを見るという選択はせずに、他の事に時間を費やしてしまう。ここで「テレビ」と書いたが、これも端的に表しただけで実際は映像作品全般を言う。
とは言え、世の中には沢山の映像作品があり、テレビのコンテンツもたくさんある。これらを見ないのは人生を損している。特にテレビはネットと違って自分に興味のない情報も流してくれるので、テレビを見ているだけでも自分の知らない情報を知ることができて面白い。ネットだとどうしても「自分から見に行く」ものであるため、自分が興味を持ったことについてしか情報が集まらない。

で、いつごろからかはもう憶えてないんだけど BGM を聞かずに TV や映画、ドキュメンタリーなどを裏で流しながら仕事をするというスタイルを頑張ってみているんだけど……ダメだー!! やっぱできない。
プログラミング、シナリオなど「思考」しながら物事を構築していくような作業の場合、やはりどうしても裏で流れているビデオのことは疎かになり、まったく頭に入っていない。結局、「あれ、どうしてこんな展開になってるんだっけ?」と巻き戻すことになる。
世の中には落語を聞きながらプログラミングできる人もいるので、たぶんできると思うんだけど、恐らくボクの脳がポンコツなんだろう。

ただ、スマフォのゲームに携わって、HTML を組むくらいなら裏でビデオを流していても問題なかった。ボクの中では HTML くらいなら脳がメインに動かなくても問題ないらしい。

そんなことを思いながら周囲をよくよく観察してみると、ビデオを流して作業している人たちは圧倒的に絵周りの人が多いことに気付いた。どうやら色を塗ったり絵を描いたりする分には、ビデオ内の会話やストーリーもちゃんと理解しつつ、作業もできるようなのだ。現に彼らがメールを書くときなどはビデオが流れているとサッパリ書けないらしい。
よかった、ボクだけではないようだ(そこかよw

しかし情報収集という観点から、やはり作業をしながら後ろでラジオやテレビを流してその内容もちゃんと受け取れるようになりたいなぁ……。

ながら族

rural_am00a
ボクはながら族である。これは幼少の頃からそうで、保育園の先生や、学校の先生から言われ続けてきた。たとえば授業中まったく違うことをしていて、だけど授業も聞いているので、先生に指されるとちゃんと答えたり、音楽を聴いているのにさらに BGM を聞きたくなる(別々に違う音楽を聴ける)という具合である。
そんな感じで、20 代までは同時にいくつもの会話を聞いたり、それぞれに答えたりしていた。
30 代になるとその機能は衰え、「人の話を聞く」という行為は集中しなくても出来ていたのに、集中しなければできなくなり、しかも「人の話を聞く」ということは「集中しない」というクセがついているため、なかなか「人の話を聞く」ことが出来なくなってしまった……orz

そんなボクであるが、昔から出来ないことがあった。それは「テレビを見ながら」何かすることである。ボクは幼少の頃からテレビで育っておらず、テレビを見るという習慣がない。なので、テレビというか動画が流れていると、ついそれに見入ってしまい、他のことができなくなるのだ。
うちの母など、テレビを見ながら電話をし、さらに掃除や調理もしくは本を読んだりできるのだから、凄いものである。
これは偏見だが、男性よりも女性の方が並列処理が出来るという印象がある。

で、最近、シナリオを書いているときも、バックでテレビというか動画を流すようになった。最近、でもないか。もう 3 ~ 4 年前からかな。で、並列脳を鍛えようというわけだ。で、思ったんだけど、シナリオっていうか文書作成はなかなか難しいね(笑)。まだ絵を描いたり CG を縫ったりする方が、バックに動画を流してても問題ないかもって思った。
それでも訓練の甲斐あってか、お笑いと映画はだいぶ出来るようになった。
ドキュメンタリーやニュースは全然ダメ。見入ってしまう。どうしても情報の整理が必要のようだ。映画とかお笑いは来た情報をその場でそのまま処理すればいいのだけど、ドキュメンタリーやニュースはその情報を頭の中で処理し、記憶しようとしたり、前後関係をあれやこれやと組み立てたりしようとするために、どうしても手を止めて見入ってしまうのだ。
とは言え、もうボクも歳だから、これ以上訓練してもダメかなぁと思いつつ……あとシナリオの速度も、動画見ながらだとどうしても遅くなる。う~ん、もうちょっとできるようになりたいなぁ。