スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

アニメーションの開始時を滑らかに!

アニメーションの補間を終えてふと操作をしているとある機能が欲しくなってきた。

・モーション開始時からモーションに遷移する時間を各アニメーションごとに設定したい。(もちろんこの時間を使って滑らかに遷移する)

・モーションごとに適用するボーンを設定したい。


上半身と下半身でモーションを同時再生してもブレンドされることがないのは魅力だし、なんと言ってもいきなりモーションが始まると隙間が無く急にモデルが動き出し不恰好なのである。

さっそく取り掛かった。

まずは補間の係数と総合ウェイトを各ボーンに持たせ、割合を更新させるようにした。
あとはモデル登録時のコンストラクタにアニメーション名を指定して↑の数値を与えるクラスを持たせることで実装完了。

また例のごとくずらずらと説明を書こうとしたけれど思ったより頭を使って疲れてしまったので割愛


綺麗に徐々に動き出すモデルをみて嬉しくなった。
ねよっと。
スポンサーサイト

アーマチェア(ボーン)の中心を動かしたい!

ボーンの中心をへんな場所に設定したままウェイト(影響度)を設定してしまった。

なんのことはないいつものようにF9を押して

CenterCursor・・・・・あれ?ない・・・

そっかアーマチェアだもんね。。
ってどうしよう!?

必死で考えたら解決しました。手順が面倒なのでメモしておきます。

・ボーンのエディットモードでルートボーンの最初の小さい丸だけ選択。
・Shift+Cでカーソルを中心にもってくる。(中心にしたい場所にカーソル移動)
・Shift+S>SelectionCursor。
・オブジェクトモードに切り替えてShift+S>SelectionCursor。
・エディットモードに切り替えてAを押してからShift+S>SelectionCursor。


これでルートボーンの根元とボーンの中心が原点に移動しつつそれ以外のボーンの位置は維持されましたとさ。
根元の位置を変えたいときはエディットモードで移動させてくださいな。

ねよっと。

Vistaで拡張子に関連付けでうまくいかないとき

バージョンが違う同じソフトをインストールして関連付けを行っていた場合うまく関連付けが機能してくれないときがある。

そんなときはレジストリを弄る必要がある。
HKEY_CLASSES_ROOT\Applications\ソフト名
の先にパスがあると思うのでそこを変更すればよいようだ。

レジストリ関係はバックアップは必ずとっておきましょう!


ねよっと

BlenderのWeight(影響度)について

スキンモーションにおけるWeightとは「頂点がボーンにどれくらいひっぱられるのか?」という値である。
1つのボーンに100%ついていく頂点しか存在しないとすると間接部分がポッキリ折れてしまうのは想像できるでしょう。

そこで1頂点につき複数のボーンに対する影響度を保持させるのである。
さて前置きはよいとして、Blenderの頂点について記載します。


~Blenderの頂点ウェイトの扱い方~

まずVertexGroupeを作成してボーンと同じ名前にすることで影響度の頂点グループが作成されたことになる。
その頂点グループに属した頂点は同じ名前のボーンに引っ張られるわけですね。F9で確認できるのがそれ。

このグループ作成の作業はWeightPaint機能でどこか適当に塗ると自動的にしてくれます。(作業しようとしたボーンのグループのみ作ってくれます)
Weight値はAssignするときのみに作用するのであって、途中で値を操作してもGroupのWeight値は変更されない。(これが最初わからずに苦労した)

Assignなどの操作はマテリアルの設定をしたことがある人なら問題なく操作できると思います。

複数割り当てられた頂点ウェイトを確認するにはWeightPaintモードにするのが一般的なようだ。
エディットモードにてNを押して現れるプロパティにてVertexDeformGroupsに具体的な値が表示される。
横にある▲▼を押してでてくるタブの数が割り当てられたボーンの数となる。選択して各々のWeight値を確認、変更することもできる。


ミラー操作については少し厄介。
ミラーモデファイアをapplyしていない状態で影響度を綺麗に付けたい場合、まずはボーンの名前をしっかり決まりに沿って付ける必要がある。
といってもボーン押し出しのときにShiftを押せばいいだけなので何の問題もない。
名前の規則ができたらWeightPaintモードでNを押してでてくる窓の「X-Mirror」を押すだけ。
こっちは簡単なのだが、頂点グループからAssignを使うとミラーしてくれない時がある。
これは「Assignは自動的に頂点グループを作成してくれる機能がない」ためである。しかも反対側の頂点グループが存在しないとミラーモデファイアがしっかり効いて意図しない影響度が割り当てられることになる。

よって作業する前に。
・まずペイントモードでX-MirrorをONにした状態で適当に1箇所ぬってすぐ消す。
・これで反対側の頂点グループも自動作成してくれる。(できればグループのRLをここで確認)
・そこからペイントしたりVertexGroupからAssignを押して割り当てる

と作業を進めれば混乱することは無くなるでしょう。

ミラーコピースクリプトもあるみたいだけどボタンがぐちゃぐちゃしていて分かりにくかったので(失敗すると形状とか変わっちゃうし。。)割愛



ああ。。。今日も文字だらけブログ。。。
ねよっと。

補間があやしい!

補間の歪みが気になりだして手に負えなくなってきた。

補間にはLerp(ラープ)、Slerp(スラープ)がある。
Lerp=Linear Interporationの略。所謂、線形補間。
Slerp=Sphercal Linear Interpolationの略で、球面線形補間というかっこいい名前がある。

以前紹介した補間は後者である。

しかし極度に拡大しながら回転して移動させると歪みが生じてしまうときがある。
どうしよう。。。

結局
hokan.jpg
補間方法をいくつか用意してモデルごとに手動で切り替えるというアナログ設計に落ち着いてしまったのである。

Matrix.Slerpの内部の計算方法についてお勉強すればもっと面白い変形や効果を作成できるのだろうが、そんな気はさらさら起きない
「サルでもわかる行列補間」という本を見つけたら買って勉強しよう。それまではスルーで。

モーション周りもようやく落ち着いてきた。8月に入ったら記事の内容はネット関係に埋め尽くされるものと予想。固定IPもそろそろ用意しないといけないのかなぁ。
楽しみだ。

ねよっと。
プロフィール

あしゅ

Author:あしゅ
ぷぃぷぃ日常。
いつのまにか雑記ブログに。

カテゴリ
最新記事
検索フォーム
最新コメント
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。