vtex2

目玉にはまず真ん中に瞳孔 (pupil) があり、その外に虹彩 (iris) があり、その外がいわゆる白目である。 pupil と iris は混同されることが多いようだ。 日本語で瞳とか黒目とか言う場合は、おそらく瞳孔と虹彩を合わせた部分を言うのではないか。

で、瞳孔は黒で良いよね、と思うが、ネコ科の動物のように、瞳孔を光らせたい人もいるかもしれない。 source engine features に

Advanced Material Rendering. Apply diffuse, specular, detail, emissive, iridescent and other special effects.

とあるから、マテリアルで発光効果を使うことはできそうに思われるのだが、 具体的にはどこにも説明がない。 疲れたのでとりあえず放置することにする。 黒でいく方向で。

虹彩に関しては、人種や種族や種(?)によっていろんな色があるのが、ファンタジーの世界では当たり前だから、 変えられるようにしたほうがいいよね。

白目は白でいいだろ、と思うのだが、赤にしたいとか緑にしたい人もいるらしく、困ってしまう。

実は瞳が出ないという現象があったのだが、 目玉の位置がずれていてもそういう現象が起きるが、今回はテクスチャの問題だった。 まず、vmt で、シェーダーを vertexlitgeneric ではなく、eyes にしなくてはならない。 さらに $iris というパラメーターで瞳のテクスチャを指定せねばならない。 たぶん、$iris がなかったから瞳がレンダリングされなかったのだろう。

half-life2 では白目と黒目を別々のテクスチャで描いてある。 注視するのに瞳が動くからである。 counter-strike source の場合はおそらく白目も黒目も全部顔のテクスチャとしてまとめて描いてあると思う。 そんなに細かく描き分けてないしそんな必要もないわけだ。

で、half-life2の場合には白目と黒目、左右別々なので、全部で四枚のテクスチャを vtex でコンパイルせねばならぬ。 めんどくさい。 うまい方法はなかろうか。 バッチファイル書くのがめんどいのよね。 名前を eyeball_l, eyeball_r, pupil_l, pupil_r で統一するか。 同じフォルダにバッチファイルも入れてやって一発変換とかのが楽ではないか。

で、テクスチャの名前がかぶるのは困るのです。 一人一体キャラクタモデル作るとして、ユーザ名のフォルダ掘ってそこに入れるようにしようかななど。

キャラクタの名前は Group01/Female01 などと決まっている。 テクスチャの名前や場所はどこでもいい。 モデルとテクスチャではちと事情が違う。

10月までに何か作らねばならぬ。 今のところ、half-life2 multiplayer mod で、高校生どうしネギや大根もって殴り合うゲームにしようかと思う。 で、武器をプレイヤーが死なない程度に弱くしておけばよいのではなかろうかと思う。 高いところから落ちて死ぬのはまあ仕方ない。

実はまじめに日本人の高校生作るよりか、角生やしたり耳生やしたりする方がわかりやすく簡単なのである。 どっちへ行くかはまだわからない。