3D技術交流を主目的としてイロイロ書き込む場所

*HOME*TOP*投稿*検索*管理*

基本方針 重要なのは気遣いよりも明確さ。ただし初心者には優しくしないとダメ。
書き込む人の心掛け 打たれ強さが「強」の人には、間違いの指摘、疑問や意見の提示とか、ちょっと辛口でもオッケー。無防備の人には優しく。
読む人の心掛け あやふやな説明は軽く流し読みしてください。初心者のことは暖かく見守ってください。
投稿用パスワードはmeshiです。スパム対策ですので、時々変更します。左下の「PASS」は任意のモノをどうぞ。右下の方の「投稿用PASS」に指定のモノを入れてください。
3Dモーションツールに期待する機能とか
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
普段、3Dツール(といってもMikotoだけですが)でモーションを作成していて、「こんな機能があれば良いのに」とか思って書きためたメモです。
基本的にMikotoしか使えない人間が書いているので、「そんなの他のツールでとっくに実装してあるよ」とゆー内容もあるかと思います。
あしからづご了承ください。

なおToyStudioへの個別要望は、ToyStudio用スレに記述しています。こっちはあくまで覚え書き。
Date: 2007/01/08/11:22:44   No.143

キーフレーム残像機能
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
一回転させてみた
GIF(一部間引き)
軸足の位置合わせは手動
現状は心眼で合わせている
手付けモーション作成をやっていて、切実に欲しいと思う機能に「前後のキーフレームのポーズを
現在のキーフレームのポーズとともに同時表示する」とゆーのがあります。

通常、人間の動きは「軸足を固定して」それ以外の部分を動かします。
CATとかのツールは、IKの座標固定機能を用いて任意のジョイント座標を固定し、脚が滑らないようにするそうですが
わたくしはFKでポーズを決めた後に全体の位置を動かして「結果的に滑らないように」しています。

このとき、前後のキーフレーム(特に直前のキー)の状態がどうなっているかを画面上で確認できると楽なのですが、
Maxとかでも前のキーの状態を表示させるには「キーを前にずらす」しかないので、ものすごく不便です。

モデリングの時だって、下絵を表示させてなぞるのと、心眼で元の画像を想像して描くのとでは、ずれの度合いが異なります。
慣れれば心眼でもけっこう見えるものですが、心眼を使わずに済ませた方がずっと楽です。
Date: 2007/01/09/02:12:12   No.144

キーフレーム残像機能 (2)
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
髪は遅れて揺れる
後から勢いをつけて動く
前と後ろのポーズから判断
骨だけでもいいから表示させたい
髪とかスカートとかの揺れモノを動かす場合、現フレームの前後のポーズが切実に欲しいです。

手付けで髪を揺らす場合、頭が動いた直後は元の位置に「取り残される」ようにし、
頭が減速もしくは停止した少し後に「勢い余って行き過ぎる」ようにすると、感じが出ます。
コレはスカートでもおんなじ。胸を揺らす場合は、上下動も加える必要があります。

すると前後のポーズと比較するのが必須になるのですが、普通は「キーを前にずらす」しかないので、
前後キーを激しく切り替えることになります。
これも心眼で見るか、もしくは別PCに直前のポーズをキャプって表示させるかすることで解決していますが、煩雑です。
心眼とか直感で勝てるのは「大雑把にざっと作る」ところまでで、正確さについては「精緻な数値入力」には勝てません。
Date: 2007/01/09/02:26:07   No.145

Re:3Dモーションツールに期待する機能とか
かりんとう  
区分: 説明   打たれ強さ:   論拠・確実性: 仕様  
いつの間にこんなスレが……
>Maxとかでも前のキーの状態を表示させるには「キーを前にずらす」しかないので、ものすごく不便です。
maxだとゴースト表示で可能ですよ。

Date: 2007/01/22/01:37:06   No.149

Maxのゴースト表示について
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 推測  
ゴースト表示。Maxのヘルプより。(著作:Autodesk)
こっちはモーションブレンドの画面?
Maxのヘルプで確認しました。

[ビュー]メニュー/[ゴーストを表示]、およびトランジション(モーションミックス?)前後の状態を表示できるようですね。
後者は「Biped を選択/[モーション]パネル/[Biped]ロールアウト/[モーション フロー モード]」とありますが、
これはキャラスタ専用ということでしょうか。

見たところ、キーフレーム設定を行った結果の挙動が表示されているみたいですが、
それだと上記の「現フレームの前後のポーズが欲しい」という要望とは微妙に異なります。
このゴースト機能は、どちらかというとスプライン補完向きの表示機能なのでは。

現状、リニア補完のみでモーションを作成しており、ポーズを明示的にセットしたキーフレームを表示する方が効率が高い感じ。

 ※リニア補完では作ったポーズが動作の終端である(=それ以上はみ出すことがない)のに対し
  スプライン補完では前後のポーズに影響を受けてしまい、「ぴたりと止める」のが難しいからです。

  キーをたくさん打てば、スプラインモーション独特の「ぬるい動作」を避けられますが。
  その方法だと今回のハルヒダンスは、よりショボい動きになったと思います。
Date: 2007/01/25/05:57:01   No.152

Re:3Dモーションツールに期待する機能とか
通りすがり  
区分: 説明   打たれ強さ: (初心者)   論拠・確実性: 経験則  
いわゆる2Dアニメツールにあるオニオンスキン?
3Dモーションツールは間を自動補完してくれるという頭があったから
考えたことは無かったけど確かに3Dアニメーションでもオニオンスキンが
あれば細かい動きを指定しやすいかもしれない。
Date: 2007/02/13/01:37:45   No.155

Re:3Dモーションツールに期待する機能とか
まつい  
区分: 回答   打たれ強さ:   論拠・確実性: 経験則  
Maxのゴースト表示は、オニオンスキンと同種のモノですね。

3Dモーションツールは間を自動補完してくれる、というのはその通りですが、
大元の動き(=キーフレーム位置でのポーズ)は、コレが駄目だと、
どんなに綺麗に補完しても駄目な動きになります。
 ※キーフレームは、セルアニメにおける「原画」と同じ位置付け

オニオンスキンやゴースト表示は「原画と原画の間の動画を表示する」機能だと思いますが、
わたくしが欲しているのは「前と後の原画を表示する」ような機能です。

まーこのスレは、実現性とか気にせずに欲しい機能を書き連ねるスレなので、
作り手の都合とかはあんまり考えていないのですが。
Date: 2007/02/13/02:24:25   No.156


MikotoモーションをEXCELで編集して効率化を図る
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
指ボーン入りモデル
目玉ボーンをよけて、指だけ動かせます?
こういう表形式で編集したい
Mikotoは下半身の動きだけをまとめてコピーしたり、ボーン角度をまとめて数値入力したりすることができません。
Shiftキーとかで複数ボーンを選択とか設定とかの、ごく基本的な操作もできません。
ボーンをひとつひとつクリックして、そのボーンに対してのみ、位置と角度を設定することになります。
爪楊枝一本だけでイクラ丼を食べるくらい面倒。アンドゥもないですし。

その欠点を補うため、EXCELを用いてモーションを編集できるようにしました。

テキストエディターのマクロを用いてEXCELに持って行ける形式にして、コピペ編集して書き戻す、
とゆーだけのもので、複数のツールをまたぐ必要があります。
本当は「mkmを直接読み込んで直接編集して直接書き出せる」ツールを作る方が良いのですが
そーいうモノはないので、ノウハウだけの公開となります。
Date: 2006/10/19/03:04:09   No.132

EXCELに持って行くメリットとか
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
手だけの動きを準備する
mkmテキスト
テキスト変換
■概要
mkm(Mikotoモーションファイル)を、テキストエディターのマクロを用いて変換し、EXCELに貼り付けて編集できるようにする。
編集後、EXCELからテキストエディターに貼り付け、再変換マクロを用いてmkmフォーマットに戻す。

■メリット
「手首から先」「上半身だけ」といった、部分的なポーズのコピーを容易に行うことができる。
 手の表情(グーとかパーとか)を、別ファイルのmkmであらかじめ作成しておいて、体全体のモーションを施したmkmにコピペで反映
表計算ソフトを使うことで、一括で位置をオフセット移動させたり、一定範囲内のフレームだけポーズを差し替えたりすることができる。

■操作手順概略
 1.簡略ボーンセットで全身の動きを作成する
 2.指ボーンセットで「指の動きだけ」を作成する
 3.Mikotoの「コントロール群補完」機能を使って、ボーンセットの差異を吸収する
 4.mkmをEmEditorマクロで変換する
 5.EXCELに貼り付け、モーションをコピペ編集する
 6.EXCELからEmEditorに貼り付けして、マクロで再変換する

■補足とか制限とか
・EXCELの列数制限(最大255)により、キーフレームは最大29個までしか認識できません。
 (ヘッダーで20列、キー1つあたり8列を使用する)
・ダブルクォーテーションを■に変換しているので、EXCEL上での見栄えが悪いです。
Date: 2006/10/19/03:28:24   No.133

操作手順詳細(1)
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
先に指なし版キャラで動かす
指ボーンあり版との差分をコントロール補間で吸収
<手順1.Mikoto既存mkm(全身モーション版)>
 1-1.簡略版のボーンセットで、全身モーション設定を作成し、mkmを出力する。
   このmkmには、指の動きは当然含まれていない。

<手順2.Mikoto既存mkm(指だけモーション版)>
 2-1.指ボーン仕込み版のキャラモデルをMikotoに読み込み、指の動きのみを作成する。
   グー、チョキ、パー、指さし、色っぽい手等。両手とも同じポーズを作っておくこと。
   ポーズコピー→貼り付け→姿勢反転を行うか、ボーン毎に姿勢鏡面化を行う。

<手順3.指ボーンとかを認識させるためのMikoto操作>
 3-1.指仕込み版のキャラモデルをMikotoに読み込む
 3-2.上記Aのmkmファイル(=簡略ボーンによる全身モーション)を読み込む
 3-3.任意のモーションを選択して右クリックし、「コントロール群補完」を行う。
   これにより、指とかのボーン部分も認識される。
   ※指部分はキーが打たれていない。後で手動で入れる。
 3-4.コントロール群補完済みのmkmを出力する。
Date: 2006/10/19/03:40:41   No.134

操作手順詳細(2)
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
指の動き部分だけを選択する
全身モーションの手の部分に上書き
<手順4.テキスト文字列変換>
 4-1.コントロール群補完済みのmkmファイルを、テキストエディターで開く。
 4-2.mkm文字列を変換する。詳細は後述。
 4-4.指ポーズ仕込み版mkmファイルも、同様に変換する。

<手順5.Excel操作>
 5-1.指ボーン補完済みmkmテキストを全選択し、EXCELシートに貼り付ける。
   このとき、貼り付け範囲を色替えしておくと、後で再選択しやすくなる。
 5-2.指ポーズmkmテキストを全選択し、別のEXCELシートに貼り付ける。
   コレを1に貼り付けていくことになる。
 5-3.ボーンの動き方向はキーフレームごとにまとまっているので、上記2から
   任意のボーンの固まりをまとめて選択し、上記1のシートの指のキーフレーム箇所に貼り付ける。

<手順6.テキスト文字列 再変換>
 6-1.修正したEXCEL上のモーション文字列を、すべて選択してコピーし、テキストエディター貼り付ける。
 6-2.再変換を実行し、正しいmkmフォーマットに戻す。
 6-3.任意の名前をつけてmkmファイルを保存し、Mikotoに読み込む。
Date: 2006/10/19/03:48:57   No.135

文字列変換パターン
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
文字列変換は、下記のパターンを用いました。単なるJavaScript型のマクロです。

●読み込み前編集
document.selection.Replace("\x22","■",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
  ダブルクオーテーションを■に変換(後々の処理の誤変換をなくすため)
document.selection.Replace("(","(\\t",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\n","",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace(")","\\t)",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
  括弧をTabで区切ったり、改行コードを全部消したり
document.selection.Replace("Bone","Coordinate",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\tQuaternion","\\n\\tQuaternion",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\tString","\\n\\tString",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("Motion {","\\nMotion {",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
  QuaternionとかMotionとかの単語のある部分の頭に改行を入れたり
document.selection.Replace(" ","\\t",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\tVector","\\n\\tVector",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Find("Vector",eeFindNext | eeFindReplaceEscSeq);
document.selection.EndOfLine(true,eeLineView);
document.selection.Replace(")","\\t)",eeFindNext | eeFindReplaceEscSeq | eeReplaceSelOnly | eeReplaceAll);
  Vector文字列を検索して、行のおしりまで選択して、その行の括弧にTabをくっつけたりして整形

●EXCEL編集後の再変換
document.selection.Replace("■\\t\\t","■\\n\\t\\t",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("{","{\\n",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\t)",")\\n",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\t)",")",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\t(\\t"," (",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
  { を { +改行に変換したり、括弧の後ろに改行をつけたりして整形
document.selection.Replace("Mikoto\\tMotion\\tVer\\t2","Mikoto Motion Ver 2",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("Motion\\t{","\nMotion {",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\t}}Eof","\\n\\t}\\n}\\nEof",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\tendframe","\\n\\tendframe",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\tloop","\\n\\tloop",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\t}}","\\t}\\n}",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\t\\t\\t","",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\t"," ",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\n ","\\n\\t\\t",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\n ","\\n\\t",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\n\\n","\\n",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
  適当に文字列の見た目を直す
document.selection.Replace("■ }","■\\n\\t}",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("■","\x22",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
  最後に■をダブルクオーテーションに変換
Date: 2006/10/19/03:57:03   No.136

追加TIPSなど
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
うんと縮小すればただの模様
EXCELで表示倍率を10%くらいにすると、モーションデータもただの模様に見えるようになります。
モーションライブラリー(?)には適当に色をつけておくと、割と視認性も良いです。

モーション名(グーとかチョキとか)をデカ字フォントのテキストボックスに記述して、
縮小表示中にもモーション名が分かるようにしています。

この画像の例では、グーとかチョキとかの静止ポーズを貼り付けているだけですが、
一連の動きを記録した複数のキーフレームをまとめて貼り付けるのも出来ています。
キーフレーム位置の辻褄はそれなりに合わせないとならないですが。

なお、PCはMikotoとEXCELは別々の画面に表示すると、EXCEL上のキーフレーム数値とMikoto上の実際のキーフレーム位置を
比較しながら作業できるので、作業効率がちょこっと上昇します。

個人的な経験則では、デュアルディスプレイより、安物のPC本体を2セットの方が使いやすいです。
片方が重い処理中でも、別な作業ができるので。
Date: 2006/10/27/09:09:16   No.137

MikotoモーションEXCEL編集 改良版
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
124キーまで編集できるよう改良
使い回しポーズは画像付きに
コミケ直前とゆーかクリスマスあたりに、MikotoモーションファイルのExcel変換マクロを改良しました。

10月半ばに導入して以降、ボーン角度数値のオフセット編集とかは全然使わなかったので、
数値部分を単なる文字列と割り切り、その分多くのキーフレームを編集できるようにしたモノ。

EXCELの列数制限が最大255なのはあいかわらづですが、ヘッダー20列→7列、キー1つあたり8列→2列に圧縮したことで
最大キーフレーム数を29個→124個にしました。

あとグーチョキパーは使用頻度がすごく高いので、キャプ画面を貼り付けて、ポーズを判断しやすくしています。
Date: 2007/01/07/04:39:38   No.138

改良版EXCEL化マクロ
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
改良版EXCEL化マクロは下記の通り。

■mkm→Excel
//ダブルクオーテーションを■に置き換え
document.selection.Replace("\x22","■",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
//改行削除、余計なTab削除
document.selection.Replace("■\\n","■",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\t\\t","\\t",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace(" (","\\t(",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
//改行削除
document.selection.Replace(")\\n",")",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("{\\n","{",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
//Mikoto 0.4fのデータを0.4c2用に変換
document.selection.Replace("Bone","Coordinate",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);

■EXCEL→mkm再変換
//最初に余計なTabとか空行を削除
document.selection.Replace("\\t\\t","",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\t\\n","\\n",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
//改行を戻し、見栄えを修正
document.selection.Replace(")",")\\n\\t",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
//見栄え修正
document.selection.Replace("Quaternion {\\tname","Quaternion {\\t\\tname",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("Vector {\\tname","Vector {\\t\\tname",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("String {\\tname","String {\\t\\tname",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\t("," (",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("{","{\\n",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\tendframe","\\n\\tendframe",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\n\\n","\\n",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
//改行+Tab修正
document.selection.Replace("■\\t","■\\n\\t\\t",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
document.selection.Replace("\\t\\t}","\\t}",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
//EOFを最後に持ってくる(2006/12/28 matsui add)
document.selection.Replace("}EOF","]\\nEOF",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
//ダブルクオーテーションを戻す
document.selection.Replace("■","\x22",eeFindNext | eeFindReplaceEscSeq | eeReplaceAll);
Date: 2007/01/07/04:42:50   No.139


頂点をゼロ付近にスナップ
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
ロックに関係なくゼロに移動する
NAL.3氏謹製の人柱プラグイン「AbsoluteZero」を使ってみました。
軸付近の頂点をゼロに移動する、という機能だそうで。

とりあへづ使ってみたのですが、ロックされたレイヤーも容赦なくゼロに吸い寄せられてしまうようです。
表示中の頂点はすべて移動させてしまうみたい。コレは困った。
Date: 2006/10/06/04:15:48   No.129

ゼロ付近でない頂点もゼロにスナップ
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
しきい値より通り頂点もゼロに移動してしまう
とりあへづ作成しただけ、とゆーモノだそうなので、細かい不具合は気にせず使ってみました。

しきい値の設定を0.01と小さめにとって、プラグインを動作させてみました。
比較用にFattyPolygonの自動輪郭線を、太さ0.1で出してみました。
ちなみにモデルデエタの身長はメタセコ単位で160くらい。

結果は、設定したしきい値より遠くにある頂点も、X=0に引き寄せられてしまっています。
中心付近の頂点と「面を共有する」頂点が根こそぎ動かされている感じ。
あるいは小数点以下の値が認識されてないのか。
Date: 2006/10/06/04:21:40   No.130

グリッド機能かと思っていた
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
スクリーン座標上で機能するグリッドだと便利
使ってみる前の段階では、「XYZの各軸にスナップする」とゆー表現から、吸着グリッドみたいな機能を想像していました。
メカメカしたモノを作るときとか、縦にきっちり並んだボタンとか作りたいときとか、グリッド機能はあると便利なので。

ついでに言うならばグリッドは、XYZ軸だけでなく、スクリーン座標のXY軸にもスナップしてくれる方が便利です。
わたくしの場合、キャラとかの有機物は基本的に斜め視点で作り込むので、XYZ軸という直交座標系にスナップしたり
移動したりする機能は、
それほど使いません。ミラーの対象位置を決めるときとかは重宝しますが。

もっと言うと、スクリーン座標を別視点から見る「作業平面座標系」も使える方が便利です。
Musketとゆーツールで売りのひとつになっている機能。
斜め視点派にとって、スクリーン座標はイヤでも使わないといけない機能ですが、そのままでは手前とか奥に動かせません。
今はFattyPolygonとかがあるので、法線方向に移動させるのは割と好きなように出来ますが、それでも
マグネットツールとかで動かすのはXYZ軸方向かスクリーン座標(奥行きなし)だけです。もう慣れましたケド。

なお4面図は使用しないのは、作業エリアを1ピクセルでも広く取るためです。
1600×1200の画面でも、4分割してしまうと1画面あたり800×600になってしまい、操作しづらくなるので。
Date: 2006/10/06/04:36:37   No.131


Mikotoのsdefの曲がり方
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
一般的ボーン変形はひしゃげる
Mikotoのボーン変形について、思うところをば。

Mikotoのsdef(スフィリカルデフォーム、つぶれないボーン変形)は、一般的なボーン変形に比べて関節部内側のひしゃげが小さいとゆー特徴があります。

Mikotoにもbdefとゆー、一般的な(ひしゃげやすい)ボーン変形モードがありますので、sdefと比べて
どの程度ひしゃげるのかを比較してみました。

補間アルゴリズムにも依るのでしょうけれど、一般的なボーン変形は45度も曲げると内側がつぶれ始め、
90度とか曲げたときにはもうアルミパイプみたいな感じになってしまいます。
それに対してsdefでは、90度くらいまではそんなにつぶれていないように見えます。

実際には肩とか股関節とかの場合、アンカーBOXの組み方がきれいにはいかないので、こんなに理想的な曲がり方はしませんが、
一般的ボーン変形よりは生物的な曲がり方をしていると思います。

Date: 2006/10/01/05:41:47   No.125

頂点位置をブレンドしてもダメ、中心からの距離を一定に保ってもダメ
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
ウェイトの乗せ方はおそらく距離のみで決める
そのまま曲げても不自然
各々の頂点を、軸からの直接の位置なり角度なり算出すると、基本的に内側は凹みます。
中心からの距離rを一定に保った場合でも凹みます。
距離rを元の長さより長くしない限り、自然な曲がり方にはなりません。
Date: 2006/10/01/06:13:50   No.126

Mikotoのsdefの曲がり方(2)
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
Mikotoの曲がり方は姿勢補間?
Mikoto作者のゆーり氏が述べるに、sdef変形は位置でなく姿勢を補完しているとゆーことです。
詳細は教えてくれないので、経験則にて実証していくしかかないのですが。

基本的に経験則による仮説でしかありませんが、ウェイトはとりあへづ普通に距離だけで決めるとして、問題は曲げ方。
使ってみた感じではおとなりの頂点からの相対的回転角度を操作しているっぽい感じがします。

子ボーンを60度曲げる場合、ウェイトが50%の部分は親ボーンから見て30度曲がることになるのでしょうけれど、
たぶんMikotoではそういう直接的な曲げ方をしているのではなく、隣接する頂点から何度、とゆー曲げ方をしているように思います。

ヘビ花火がにょーんと伸びていくとゆーか、結晶成長で方向が曲がってしまった状態とゆーか、
角度計算の基点は子ボーンの軸位置であっても、具体的な変形の基点となるのは「となりの頂点」になっている感じ。

sdefが2つのアンカーBOXの重なりしか認めていないのは、デフォームの基点がとなりの頂点にある所為ではないかと。
Date: 2006/10/01/06:25:16   No.127

論拠とゆーには希薄なモノかもしれませんが
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
公表資料(著作:有限会社アントラッド)
一般的ボーン変形はひしゃげる
中に肉の詰まった腕とかが、空洞のアルミパイプみたいにひしゃげて曲がるのは、
数学的に正しい変形だったとしても、直感的には変です。

Mikoto作者のゆーり氏が公表しているのは、未踏ソフトウェアの成果として発表したPaperと
掲示板でわずかに語られたヒントだけで、あとは実証するしかないのですが、
おそらく曲げ部分の内側が曲げ方向と反対の向きに凹むのを「おかしい」と感じて、
内側も外側も素直に同じ向きに変形するような補間方法を考えた、とゆーところでしょうか。

以上、実験的観測手法からの見解でした。裏付けは実験結果のみ。理屈は全部憶測。
Date: 2006/10/01/06:47:11   No.128


FattyPolygonの改良版を使ってみた
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
出っ張らせるのは法線方向への移動
髪の毛っぽくするのに出っ張らせる
FattyPolygonの改良版が出ていたので、使ってみました。
とりあへづ思いつくところで、髪の毛とか輪郭を出っ張らせるのに使ってみました。

ベースになる顔モデルを用意しておいて、元絵に似せるために細かくチューニングしていく場合、
ほっぺのふくらみ具合とかアゴの出っ張り具合を調整する作業がひっじょーに多くなります。
また、髪の毛を作り込む際、板ポリゴンで髪の毛の流れを大まかに作った後の
厚みのでっぱりとへこみの筋入れを行うフェイズでは、法線方向への移動をたくさん行います。
選択しては拡大縮小、斜め視点から見て移動、別の視点から見て再調整、とゆーのをちまちまと繰り返します。

「出っ張らせる」とか「凹ませる」箇所は、法線の方向に動かすとゆーことなので
既存のプラグインの「法線方向に移動」を使うか、斜め視点で何回か調整しながら動かす作業を行います。

FattyPolygonの「選択範囲のみ適用」をONにして、「このへんを出っ張らせたい」範囲をさくっと選択し、
急速冷凍(=擬似的に拡張した部分を実体に変換するとゆーか、フリーズする)を使うと
作業のステップ数がかなり減らせる感じです。
Date: 2006/09/22/03:04:01   No.119

気になったところとか
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
「ポリゴン拡張」を有効にしているレイヤーに対して、ワイヤーコマンドの「頂点を挿入」が効かなくなります。
「無効化」をチェックするか、あるいはそのレイヤーのチェックを外すと、「頂点を挿入」が使えるようになります。
ワイヤーコマンドの頂点追加は何かと問題のある機能ですが、ここでも引っかかるか、とゆー感じ。

「選択範囲のみ」チェックONの状態でレイヤーの追加を行うと、「選択範囲のみ」チェックをしているのに
選択していない範囲も盛り上がってしまうとゆーか、チェックが無効になってしまうっぽいです。
レイヤーの表示・非表示を行うと回復するので、たいした問題ではないですが、一応気付いたこととして。

あと、「ポリゴン拡張」による頂点移動は「対称編集」ではついてきてくれないので、
左右を同じ形状にしたい場合は、半分削除してCustomMirrorとか使うしかないです。
メタセコの仕様上、どうにもならなさそう。


それと、贅沢を言うならば、下記の機能が欲しいです。
 1. 「急速冷凍」ボタンの機能をショートカットキーに割り振れるようにしたい。
 2. 矢印キーとかで、持ち上げ指定量を変化させたい(=ショートカットキーに割り振りしたい)
 3. 選択範囲全体を持ち上げる際、指定量(固定)だけでなく、中央が大きく盛り上がるのとかも選びたい。

絵描きとしては、ペンは絵を描く対象物のところになるべく置いておきたいモノです。
ペンの太さやタッチを変化させる都度、ペンを別な場所に移動させると、流れが途切れます。
Gペンでもひとまとまりの線を描き終えるまでは、インク瓶への移動はなるべく避けたいところ。

使用頻度の高い道具だけに、1ステップ減らすだけでも、作業全体で見れば
かなりの省力化になるかと。
Date: 2006/09/22/03:08:10   No.120

Re:FattyPolygonの改良版を使ってみた
NAL.3  
区分: その他   打たれ強さ: 普通   論拠・確実性: あやふや  
(´・ω・)ふむー

どうでも良いが、自分以外の人はStationPluginSDKの仕様をどう
思ってるんだろう?
βBBSに要望だすのも良いんだけど、ひとりよがりになってもアレだしなぁ。

…とここまで書いた後、グチっぽい文章を事書いたけど、多分無価値なので割愛。
「SDKに多少の不満はあるんだよ?」という雰囲気を匂わせておく程度で良いかなと。
Date: 2006/09/22/23:25:37   No.124


CelsView最新版のてすと
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
設定を「コピー」「ペースト」で複製できる
設定後の変更ももちろん可能
CelsViewで「マテリアルコピー」機能が追加されていたので、動作確認をしました。

とりあへづマテリアルコピーは、CelsViewを二つ起動しておいて、右から左に複製するのは問題なくできました。
貼り付けた設定をちょこっといじって保存、とゆーのも問題なし。

基本的に一つ一つマテリアル設定をペースト(=貼り付け)していくことになります。

これまではあるいは色を4ヶ所+にじみ具合3ヶ所+線の太さと色と透明度+スペキュラー設定をすべてクリックして設定するか、
あるいはテキストエディターで貼り付けて読み直すか、といった手間がかかっていたのですが、
今回の機能追加により、かなり省力化が図れるようになりました。
Date: 2006/09/22/03:47:40   No.121

モーションを連番画像出力してみた
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
歩かせてみた
もじもじ
新機能かもしれないが分からないボタン
今回の変更点はマテリアル変更+ファイルI/Oらしいので、画像出力を確認してみました。

とりあへづ連番画像出力が気になったので、PNG出力→GIFアニメ化してみましたが。
なんか背景が透明になっています。コレは良いのか悪いのか。
Date: 2006/09/22/03:55:24   No.122

仕様としてPNGはアルファを参照するようになったみたいですが
まつい  
区分: 説明   打たれ強さ:   論拠・確実性: 経験則  
BMPで出力すればこれまで通りだが
PNGだとアルファが悪さをする
今回の仕様変更として、下記のモノがあるそうですが。

PNG、TARGAでキャプチャ時アルファを参照するようにしました。
ただしバックバッファにアルファを作成できないVGAでは利用できません。
また単純にレンダリング後のフレームバッファのアルファを出力しているので
半透明なものを含むモデルは最後に書かれたアルファがを参照されるので正常な出力はできません。


わたくしは半透明をけっこう使っているので、半透明の領域が正常出力できないのはチョット困ります。

BMPで出力すれば今まで通り問題なく意図したカラーで出力できるようですが、
BMPは「これ以上重い画像形式はない」とゆーくらい素直で激重なファイル形式です。
試しに4000×3200で出力した画像は、PNGだと2.8MB程度でしたが、BMPだと37MBとかありました。
コレを100枚とかキャプチャーすると、それぞれ300MBと4GBになります。

・・・PNG出力時に、アルファ参照をするかしないか選択できるとありがたいのですが。
Date: 2006/09/22/04:06:41   No.123


現行ログ/ [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
No. PASS
No. USER PASS
0002733
[TOP]
shiromuku(u)GUESTBOOK version 1.55