プログラム名を変えてみました。
理由はあまりにも夏海専用プログラムになってきたから。

NATSUMI-TEST ver. 0.3
2001/4/19 NEW release!
2001/3/25 2nd release

2001/3/7 update
2001/3/3 1st release

昔の扉絵1 昔の扉絵2 昔の扉絵3 昔の扉絵4
●スクリーンショット




●変更点
・画角を変更可能に。アウトラインを画角に対応。
・目の動きを頭の向きに依存しないようにした(いままでは頭を傾けるとおかしくなっていた)
・まぶたのモーフをいろいろ増やす。(通常、スマイル、閉じ、鋭い目つき、優しい目)
・舌を出す。
・ひらひらのアルゴリズムを変更。崩壊しないようにした。(今までは崩壊しない範囲で使っていた)
・骨を増やした。つま先に一本ずつ。ジンバルロック回避用に計四本。
・空を360度に。
・ベンチを製作&配置。
DirectX Developer Centerにトゥーンシェーデンングやアウトラインのチュートリアルがアップされたので対抗してトーラスを表示。実はまだよく読んでないけどアウトラインのアルゴリズムが違う。

ちょっと脱線系
・情報ダイアログの表示。動作環境をレポートできるように。
・CPUクロックの計測。
・レンズフレア/レンズリフレクションの実装。
・アイコン制作。

新規モーション
イスに座る、立つ
ピース!
背伸び〜
手を後ろで組む
ジャンプ!
歩き回るモード(歩き始め、歩き終わり、右ターン、左ターン)

●ダウンロードとセットアップ
natsumi_4_19.lzh(841,144 バイト)をダウンロードします。
ファイルを適当なディレクトリに解凍すると、
natsumi.exe
ydata/system.ybm
ydata/system.ysn
ydata/system.ypb
が生成されます。


●使用方法
natsumi.exeを起動します。
一応、操作のキー対応表を表示できるようにしてあります。
起動時にベンチに座ったあと、放って置くと歩き続けます。
スペースキーでモーションを切り替えます。立ち止まってからモーションが切り替わります。
歩く以外のモーションは、「立ち」「ピース!」「背伸び〜」「手を後ろで組む」「ジャンプ!」があります。
マウスでカメラを移動できます。また、上下キーで画角を変更できます。
その他、O/W/C/D/F/H/G/L/T/B/Eキーで各表示状態を切り替えられます。
Iキーで動作環境情報を表示できます。レポートするときなどに使って下さい。
F3キーで表示デバイスを変更できます。
ALT+ENTERでウィンドウ表示とフルスクリーン表示を切り替えます。
ESCキーで終了します。


●内容解説
・画角
画角を変更できるようにしたら、アウトラインが大変なことに。画角を考慮してなかったことが判明。試行錯誤してなんとか解決。遠くから狭い画角にすると望遠風になってまた違う雰囲気に。GeForce以外のビデオカードだと、遠くのZ値がおかしくなってるみたい。原因は一応調査中。DirectXの生成するプロジェクションマトリクスの中身を一度覗いてみる必要があるかも。
・目
前回手を抜いてた部分をちゃんと書き直した。カメラの座標を頭のローカル座標に変換してからカメラを向かす処理している。
目というかまぶたのモーフをいくつか作った。その組み合わせでいろいろ目の表情ができるようになった。ところで、まゆげのモーフもしたほうがいいのかな。
・舌
舌のモデルを作った。あ、セルシェーディングとかアウトラインとかにするの忘れてた。
・ひらひら
動きの激しいモーションも増やしていきたいので、ひらひらに手をつける。激しく動いても崩壊しないようにした。詳細はちょっと簡単には説明しきれないので省略。ただまだまだ改善の余地はありそう。
・モーション&ボーン
・ピース!
指をもっと動かしてみようということでコレ。チョキでもある。
・背伸び〜
つま先にボーンを入れたのでそれが判り易いモーションということで。
・イスに座る、立つ
前回地面に足を投げ出して座るモーションを作ったのだが、実はイスに座る方を先に作りたかったのだ。しかし、何に座る?座る所がなかったのであった。で、今回まずベンチを作成。晴れてイス座りモーションが完成!と思いきや、90度に曲げたふとももがひざを閉じるように内側に回ってくれない。ややや!これがジンバルロックさんですか。こんなところで出会うとは。初めましてって感じでした。いやウワサはかねがね。まあ、とにかく骨を増やして対応。ついでに肩にも。もうそろそろ骨構造は変えたくないですな。あと、ベンチの高さにひらひらのヒットを設定してあるのでスカートがベンチに当たっているように見える。
・手を後ろで組む
なんとなく。こんなんもありかなと。
・ジャンプ!
ひらひらチェック用。まだまだ髪の毛とかビロビロしてますな。
・ターン
90度ターン。乱数で微妙に90度からぶれるようにしてあるので、いろんな方向に行けるようにした。ターンすることでライトのあたり具合が変わってセルシェーディングのいろんなパターンが見られるようになった。
・歩き始め、歩き終わり
意外と大変。立ちのキーフレームと歩きの最初のキーフレームだけではだめだろうとは思っていたが、止まっているところから加速して歩きと同じ速度にする加減が難しかった。あと、一歩目の踏み出し距離とか。
・CPUクロックの計測
ベンチマーク的な要素があってもいいかなと思い、手をつける。CPUIDの取得とかも。FAMILYとかMODELとかからプロセッサ名に変換する部分は面倒臭かったので止め。作ってもデバッグ出来ないよな。
・レンズフレア&レンズリフレクション
基本的にProdigy Racingのものをそのまま持ってきて書き換えた。コンバーターも対応してなかったので書き加えた。しかし、ライトとカメラの間にオブジェクトがあるかないかの判定を、Zバッファの値を直接読んで実現しようとしてハマった。16ビットのZバッファでかつビデオカードが対応してないと読めないような雰囲気。そもそもZバッファの各ピクセルのフォーマットはDirectXで規定されてなくてビデオカードで任意に実装するものらしい。よって、この方法はあきらめて、前と同じ手法で実現。(ライトの座標のピクセルをライトのZ値で描画して、描けたかどうか調べるという方法。本当に描いちゃうので元の色を最初に保存したり、書く色と違う色をあらかじめ書いておいたりと結構手間がかかる。)

感想
モーションをつなぐのにてこずった。つなぎ方とかモーションの作り方とか、いくつかの手法があるが、どれを採用するかを決めるのが難しい。一長一短。結局、今回は接地を重視した方式で行くことに。
ボーンの構造を変えると全てのモーションに修正が必要になるので、変えるのは今回で最後にしたいな〜。

なんかモーション作るのがメインになってる臭いぞ。
予定では「基本モーションを沢山作る」→「コスチュームを沢山作る」の順なのだが、まだまだ新コスチュームは無理でしょうか。とりあえず髪型変えてみようかとは思う。うん。

あと、とりあえずボツネタ。マンガ的記号の3D化として、「アオスジ」、「アセ」、のモデルを制作したのだが。うーむ。イマイチどう使っていいかが判らない。要研究。


COPYRIGHT (C) 2004 YO1 KOMORI ALL RIGHTS RESERVED