2012年12月

2012年12月31日

柿の木に珍客が

庭の柿木を見上げたら見慣れない色の鳥が・・・。

インコ

よーく目を凝らしてみると、どうやらインコのようだ。どっかで逃げて野生化したのかな。

柿を齧るインコ



take_z_ultima at 12:00|この記事のURLComments(0)TrackBack(0)園芸 

2012年12月30日

AQUOSの画面の一部が変色した

今年の2月に無理して買った液晶テレビの一部分で発色がおかしくなってしまった。

完全に白い場合は大丈夫なんだけど徐々にグレースケールの段階を下げていくとグレーのまま明るさが落ちていかなければいけないはずが、下の画像のように画面の一部分がマゼンダっぽい色に変色してしまう。どうも各色の輝度のバランスがおかしいようだ。

変色した画面

年末だし、修理は年明けに頼んだ方がいいかなぁ。



take_z_ultima at 18:26|この記事のURLComments(0)TrackBack(0)Goods 

2012年12月28日

2013の新機能を探る その62 3dsmax 2013 SP2

今回も前回に引き続きMassFXのラグドールについて調べてみたい。

で、前回はボーンがあれば、それをラグドール化できるけど、CATのようにボーンを使っていないものはラグドール化できないってところまで調べた。

今回はラグドールのパラメータの詳細を調べてみようと思ったんだけど、いろいろ試してどうしても出来ないことがあったので先に書いておくと、自分の32bit版3dsmax2013ではラグドールにスキンメッシュが認識できない。以前のバージョンであればスキンメッシュはボーンをラグドール化した時点で自動的に認識されたんだけど、今回のものではうまく行かない。

このようにスキンモディファイヤでメッシュをボーンに関連付けておいて、そのボーンをラグドール化しても、

fig06

ラグドールのスキンとしてはリストに全く現れず、  

fig05

PickやAddで追加しようとすると下のようなダイアログが出てしまう。  

fig04

「The skinned mesh must contain the same set of bones (or a subset) as the original ragdoll skinned mesh.」

ちなみに2012のMassFXではちゃんと関連スキンとしてボーンに割り当てられたメッシュが出て、

fig01

ボーンのかわりにメッシュの方をもとに物理シェイプを生成できて、

fig02

このようにボーンアニメーションで物理シェイプを変形させてシミュレーションさせる事が出来た。

fig03

まあボーンに割り当てる物理シェイプをカプセルにしてスキンメッシュの表面付近まで広げればさほどの支障は無いような気もするけどね。出来ないのはちょっと気持ち悪いね。

それではMassFX Ragdollのパラメータロールアウトの方を調べて行きたい。

まずは「General(一般)」ロールアウトから。

fig07

ここはラグドールに係わる各表示のON/OFFとサイズについて設定できる。コンストレイントについてはサイズじゃなくてスケールになっているのがミソで、コンストレイントの大きさはコンストレイント自身のパラメータとして「Icon Size」があるので、ラグドール側ではそのアイコンサイズに対してのスケールを設定するようになっている。スケールを最大値にしてもコンストレイントが小さくて見えない時は、コンストレイント側のアイコンサイズパラメータを変更すればいいわけだ。

fig08

fig09「Setup(設定)」ロールアウトはラグドールを構成するリジッドボディをダイナミックにするかキネマティックにするかを一括して切り替えたり、ラグドールに含めるボーンを取捨選択したりするためのものだ。スキンについては前述の通り。

ボーンはPick(ビューポート上でボーンをクリックして追加する)やAdd(選択リストからボーンを追加する)方法でリジッドボディの中にボーンを取り込むことが出来るんだけど、それが出来るのはどうやら接続されているボーンのチェーンの中だけのようだ。後からボーンを追加した時にはこの機能が使えそうだけど、実際やってみた限りでは、何度かチャレンジしてようやく追加される感じで、どうしてもうまく行かない時は割り当てられたボーンをリストから全部除去して改めて追加するハメになった。完成度はイマイチなのかも。

fig10

ラグドールに割り当てられたリジッドボディは個別に編集も可能だけど、マニュアルにはこんな注意書きがあって、

注:最良の結果を得るには、Biped のラグドールを[ダイナミック](Dynamic)に設定する際、Biped に既存のアニメーションが含まれないようにしてください。 特に、ダイナミック ラグドールに[ウォーク](Walk)ツールを使用してアニメートした Biped を使用すると、予期しない結果が発生する場合があります。 同様に、ラグドール オブジェクトの個々のリジッド ボディを、シミュレーション中に[有効フレーム](Until Frame)オプションを使用して[キネマティック](Kinematic)から[ダイナミック](Dynamic)に切り替えないでください。 通常は、ラグドールのアニメーション タイプを混ぜないでください。MassFX でラグドールの動きを完全にコントロールできるようにする(ダイナミック)か、標準のアニメーション方法を使用する(キネマティック)かのどちらかにしてください。  

個別にダイナミックとリジッドボディを切り替えて混ぜたり、途中でダイナミックとキネマティックを切り替えたりと言った事はしちゃいけないみたいだな。

「Bone Properties(ボーンプロパティ)」は割り当てる物理シェイプに関するプロパティだ。

fig11物理シェイプを生成する基準となるものとして、「Source」パラメータで「Bones」と「Max Meshes」が選択できて、「Bones」の場合はボーンに対して物理シェイプが生成され、「Max Meshes」の場合はスキンモディファイヤでボーンに割り当てられたスキンメッシュに対して物理シェイプが生成される・・・はず。

 残念ながらスキンメッシュについては前述の通りなのでそこは調べようが無かった。シェイプは割り当てる物理シェイプの形状を選ぶもので、カプセルと球と凸型が選択できる。これについてはもう何度もやってるから説明の必要もないね。

「Inflation(インフレーション)」はその物理シェイプを割り当てた形状からどのくらい膨らますかという設定だ。

「Weight(ウェイト)」はスキンメッシュの頂点のボーンウェイト値の閾値で、その頂点に対してこの値より高いウェイト値を持つボーンがこの頂点に割り当てられているものとして物理シェイプを生成するもののようだけど、試せないのでなんとも言えないな。

「Update Selected Bone」ボタンは「setup」ロールアウトのリストで現在選択中のボーンをこのプロパティで設定したシェイプに更新させる。全部のボーンを一挙に変更したい場合は、「RgdollTools」ロールアウトの「Update All Bones」ボタンを押せばいい。

fig12

最後に「Ragdoll Properties(ラグドールのプロパティ)」ロールアウトが残っちゃったけどこれはラグドールの質量配分に関するプロパティらしい。

fig13

 「Use Default Mass(既定値の質量を使用)」をONにすると、各リジッドボディの質量設定がそのまま使われる。

「Overall Mass(全体質量)」はラグドール全体の質量で、 「Use Default Mass(既定値の質量を使用)」をONにすると自動的に計算されて設定される。もちろん手動で設定も可能だ。この値は次の「分配比率」と「再分配」によって各リジッドボディに分配して割り当てることができる。

「Distribute Ratio(分配比率)」は隣接するリジッドボディ間の質量の最大比率を設定するもの。

「Redistribute(再分配)」ボタンは全体質量と分配比率に基づいて質量を各リジッドボディに再分配する。比率は上限を超えないところで物理シェプイプの大きさの比率で決まるのかな?(まだちゃんと検証していない)

以上、本年はここまで。新年は7日からまた続けたい。その間は不定期の更新になるよ。

それではみなさん良いお年を。

maxまとめページ



take_z_ultima at 11:30|この記事のURLComments(0)TrackBack(0)3ds Max | CG

2012年12月27日

modo601が来た! その81 modo601 SP4

今回はrecoilのフォースの影響範囲を制限するフォールオフについて調べてみた。

fig01

これについてはいろいろ試してみてニッチモサッチも行かなくて四苦八苦した。未だにスプラインフォールオフはどうやって使ったら良いのかさっぱり分からない。

とりあえず分かったのは、フォールオフアイテムの位置が原点の時にフォールオフの影響の範囲がリニアとカプセルで10倍、ラディアルで20倍、「長さ」パラメータより大きな範囲でフォールオフすると言うことだ。

例えば下のシーンは無重力状態の空間に上向きの力を発生させるリニアフォースと、原点から10m離れた位置にアクティブリジッドボディの球体を1個配置したものだ。

fig02

通常、リニアフォースアイテムはどこに置いてもシーン内の全てのアクティブリジッドボディに同じように力を加えるので、下のGIFアニメのように球体は上向きの力によって加速されて行く。

fig03

ここでこのリニアフォースアイテムを選択状態にしておいてから「フォールオフの追加」メニューの「Linear Falloff」を選択し、このフォースに対してリニアフォールオフを設定する。フォールオフを設定する時はこのように設定したい相手を選択してから追加すると自動的に適用されるのでお手軽だ。セットアップレイアウトのスケマティックビューにリニアフォースとリニアフォールオフアイテムをアイテムリストからドラッグしてみると、下のように両者がリンクしているのが確認できる(点線になっているのはビューのグラフ表示がデフォーマになっているせい)。

fig04

逆にフォールオフは後からスケマティックビューを使ってフォースとリンクさせたり解除したりも出来るし、2つのアイテムを選択してからrecoilメニューのフォールオフ→フォールオフのアタッチを選択することで接続することも出来る。

挿入したリニアフォールオフの向きを変えるために、「軸」を「X」に変更すると、

fig05

このようにフォールオフのアイコンのすぼまった方が球体の方向を向く。

fig06

この円錐状の形状がアタッチしているフォースの効果の減衰を表わしていて、尖った先端より先ではフォースの効果がゼロになるわけだ(下の画像ではわかりやすいように重なっていたリニアフォースを奥の方に移動させてあるよ。このフォースはどこにあっても効果は一緒だからね)。

fig07

このままシミュレーションをすると、期待通り球体は動かない。

ここでリニアフォールオフの「長さ」パラメータを1.01mにしてみると、このように僅かに力を受けて動き出した。

fig08

さらに「長さ」パラメータを2mにしたのがこれで、

fig09

10mにしたのがこれだ。

fig10

見ての通り、本来は円錐の先端が球体にさしかかる10mのあたりから球体に影響が出なければならないはずが、10mではかなりの影響が出てしまっている。

ここで「長さ」パラメータを2mにし、球体を20mの位置にして同じ実験をしてみると、やはり長さパラメータを2mより少し大きくしたところで球体が動き出した。10mに対して100mで試しても同じ結果が得られた。

どうやら実際のフォールオフの大きさは長さパラメータの10倍らしい事がわかった。

ここで気を良くしてフォールオフを動かしてみたんだけど、球体を20mの位置にして、フォールオフを10mの位置にしたら長さパラメータをどれだけ短くしても全くフォールオフが効かなくなった。

そこでもう少し緩い条件でやってみようと思って球体を20m、フォールオフを1mの地点に置いてみると、長さ1mで静止、そこからちょっと増やすと球体が動き出した。

fig11

ここでピンと来たのが、長さが10倍になるならロケータの座標値も10倍になってるんじゃないかって事だ。1mが10mならこのフォールオフは原点から10mの位置にあるからそこから長さ1m×10=10mのフォールオフで計算があう。

そこで今度はフォールオフを1.99m、球体を20mに置いて、長さ10mmにしてみたら球体は動かず、10.1mmで動いた。

フォールオフのロケータの座標地も10倍になっていると考えて計算すると合致する。

1.99m×10+10mm×10

=19.9m+100mm

=19.9m+0.1m

=20m

上記の実験から、フォールオフを使う時は位置と長さは10倍だと思って使う必要があるようだ。

早く直してね。

それではまた次回。

カテゴリー別ページ



take_z_ultima at 12:01|この記事のURLComments(0)TrackBack(0)modo | CG

2012年12月26日

2013の新機能を探る その61 3dsmax 2013 SP2

今回はMassFXのラグドールについて調べてみたい。

fig01

ラグドールはボーンとそれにスキンを使用した関連メッシュにMassFXのリジッドボディとコンストレイントを導入するための仕組みだ。ボーンシステムを使っているキャラクタースタジオのBipedなら簡単にラグドール化でき、Bipedを選択して「CreateDynamicRagdoll(ダイナミック ラグドール作成)」ボタンを押せば直ちに各ボーンを覆う物理シェイプが生成され、その間がコンストレイントで接続され、ラグドールのアイコン(下の画像の大の字になっている人型のマーク)がシーンに挿入される。

fig02

各ボーンに割り当てられたリジッドボディの物理シェイプとそれらを繋ぐコンストレイントは今まで扱ってきたアイテム同様に個別に設定を調整できる。

各アイテムを個別に調整する時は個別に選択してモディファイヤパネルかマルチオブジェクトエディタパネルで今まで通り調整が出来るし、

fig06ラグドールアイコンを選択すると、モディファイヤパネルでラグドールとしての設定を一括して調整する事が出来る。

また、割り当て相手がBipedの場合、各リジッドボディ間のコンストレイントもそれぞれの可動域で調整されるようだ。下の画像はラグドールを割り当てたBipedでコンストレイントのアイコンを拡大してみたもの。片や足、腕などの関節でそれぞれコンストレイントの許容範囲が異なっているのがわかる。

fig05

デフォルトのまま使うと足のボーンに割り当てられたカプセル型の物理シェイプが地面と干渉して暴れたりするんだけど、

fig13
 

fig07例えばラグドールアイコンを選択し、モディファイヤパネルで「Bone Properties」ロールアウトの「Shape」を「Convex Hull」に変更し、「Ragdoll Tools」ロールアウトの「Update All Bones」を押せば、ボーンに割り当てられた全ての物理シェイプが更新されて「Convex Hull」になる。

fig08

fig09それでも反発するようなら地面の位置をちょっとだけ下に動かしてやれば、

このようにBipedがダイナミックリジッドボディのチェーンとして物理アニメーションするようになる。

fig03

ラグドールもリジッドボディと同じで、ダイナミックとキネマティックのどちらかのタイプにする事が出来て、ダイナミックなら他の物理シェイプやフォース、コンストレイントなどの影響を受けて物理シミュレーションされるし、キネマティックならMAXのアニメーションシステムで能動的に動かして、他の物理シェイプに影響を与える事が出来る。

fig04

また、キャラスタのBipedじゃなくても、ボーンであれば、ラグドール化できる。

fig10

fig11

ただ、残念なことにボーン以外で構成されているCATリグはラグドール化できない。もちろん各パーツをリジッドボディ化する事は可能だ。

fig12

ラグドールの詳しい話はまた次回調べてみたい。

maxまとめページ



take_z_ultima at 12:22|この記事のURLComments(0)TrackBack(0)3ds Max | CG
Archives