スレッド一覧 | 新規スレッド | 留意事項 | ワード検索 | 過去ログ | 管理用 |
icon 変換マトリクスのリセットについて
日時: 2004/03/29 10:57
名前: うり

一通りモデルが完成した後、ジョイントを動かすとマトリクス値の影響で歪んだりしますよね?
私の認識の甘さもあるのですが、裏(?)命令で一括リセットしても、完璧にリセット出来るわけではないらしく、時折オブジェクトがとんでもない事になったりします。
例えば「恐怖!髪の伸びる人形!」のような事になってしまいます。
別に、髪が伸びる事が怖いわけじゃないんですけど、大きさや歪み具合がメチャクチャになる上に、アンドゥもちゃんと効かないあたりとても怖いです。
かといって、一つ一つリセットしていくのもこれまた面倒です。

現状のフォルムを保持したまま、効率よくマトリクス値をリセットする作業を皆さんはどうされていますか?
Page: [1]

file Re: 変換マトリクスのリセットについて ( No.1 )
日時: 2004/03/29 19:38
名前: 平山(管理人)
参照: http://www2u.biglobe.ne.jp/~k_hiray/ps_db/search/

「すべてのジョイントをリセットする」というのはオモテの機能にありますが、
それではなくて「Reset All Transformation」のほうですね。
パート1個をリセットする「Reset Transformation」というのもありますが、
これもオモテの機能としてはないんでしたっけ。

>かといって、一つ一つリセットしていくのもこれまた面倒です。
これは、「Reset Transformation」を使ってパートを1個ずつリセットしていくと
歪まないということでしょうか。
だとしたら、「Reset All Transformation」のバグですかね。
隠し機能だから文句も言えないのかもしれませんが・・・

しかし、なぜかスクリプトのコマンドにはreset_transformation も
reset_all_transformation もあるんですよね。

reset_all_transformation を使っても同じだと思うので、
選択パート内にあるパートやジョイントをリセットするスクリプトを書いてみました。
「一つ一つリセット」を自動的にやってしまおうというものです。

「ジョイントをリセット」というのはもちろん、ジョイント値のリセットではなく、
ジョイントの変換マトリックスのリセットということです。

しかし、ジョイントをリセットするとやばそうですね。

#----------ここから----------
begin_dialog
append_bool_dialog_item "パートをリセット"
append_bool_dialog_item "自由曲面をリセット"
append_bool_dialog_item "ジョイントをリセット"
set_bool_property_value 0 to 1
set_bool_property_value 1 to 0
set_bool_property_value 2 to 0
if [ask_dialog] {
    set reset_part [get_bool_property_value 0]
    set reset_surf [get_bool_property_value 1]
    set reset_joint [get_bool_property_value 2]
    end_dialog
} else {
    end_dialog
    return
}
inhibit_update
set start $ordinal
if {[create_part as "終わり"]} {
    set end $ordinal
    set end_id $handle
}
for {set i $start} {$i <= $end} {incr i} {
    if {[select_by_ordinal $i]} {
        if {$handle == $end_id} {
            clear
            break
        }
        if {$reset_part && $object_type == 2 && $part_type == 0} {
            reset_transformation
        }
        if {$reset_surf && $object_type == 2 && $part_type == 1} {
            reset_transformation
        }
        if {$reset_joint && $object_type == 2 && ($part_type >= 2 && $part_type <= 8)} {
            reset_transformation
        }
    }
}
message "---------終了"
#----------ここまで----------
file Re: 変換マトリクスのリセットについて ( No.2 )
日時: 2004/03/30 10:01
名前: うり

わざわざスクリプトまで書いていただいて恐縮です。
質問の内容はご理解頂いている通りです。

いろいろやってみているんですけど、今の所は「ボールジョイントを含むインポートされた形状」が、
おかしいのだろうというくらいしか分からないです。
どうもスケールの値がちゃんとリセットできていない様な感じがします。
あくまでも私の試したデータに関しての話しですが・・・。

残念ながら、せっかく頂いたスクリプトでも同じ結果になってしまうということは、
Shade自体の不具合なんでしょうね。

私がやっている対策としては、パート又はジョイントに内包しているモノを出して、
リセットした後に戻すという作業が有効なのですが、これがとっても面倒です。

ズボラな私にとって Reset All Transformation は便利なので、
そろそろ表機能として実装して欲しいもんです。

R4 を使っていたので、7 になって戸惑うことが多いですね。
スクリプトの記録も VB とJS の記録が出来ないみたいですし(苦笑
file Re: 変換マトリクスのリセットについて ( No.3 )
日時: 2004/03/30 19:34
名前: 平山(管理人)
参照: http://www2u.biglobe.ne.jp/~k_hiray/ps_db/search/

>私がやっている対策としては、パート又はジョイントに内包しているモノを出して、
>リセットした後に戻すという作業が有効なのですが、これがとっても面倒です。
あ、そういうことでしたか。そうするとReset Transformation もバグっぽいですね。
外に出してリセットしなければならないんじゃ、リセットの意味がないし。(初期化といっしょ・・・)

>いろいろやってみているんですけど、今の所は「ボールジョイントを含むインポートされた形状」が、
>おかしいのだろうというくらいしか分からないです。
私がやってみたところでは、スキップジョイントやスキンを設定してたりすると
変な具合になってしまうようです。

イーフロのラウンジで7のマトリックス関係のバグがあるとかいう話が出ていますが
それとも関係があるのかもしれませんね。

とりあえず、うりさんのやっていらっしゃる手順をスクリプトで自動化してみました。
マスターサーフェスを使っていても大丈夫なようにカット&ペーストを使ってないので、
結構長くなってしまいました(^^;;
http://www2u.biglobe.ne.jp/~k_hiray/tmp/Reset_All_Transformation.txt

>R4 を使っていたので、7 になって戸惑うことが多いですね。
>スクリプトの記録も VB とJS の記録が出来ないみたいですし(苦笑
記録ができないというのはつらいですね。手軽に使えるというスクリプトのメリット半減。

私は、公開しているスクリプトが7で使えるのかどうか、気にはなるのですが、
OpenGLがらみの深刻な問題があるので、個人的にはバージョンアップのメリットがなく、
どうしようかなと思っています。

他にもいろいろ問題噴出しているみたいですが、
基本的な部分でのバグが多すぎですね。
file Re: 変換マトリクスのリセットについて ( No.4 )
日時: 2004/03/31 09:46
名前: うり
参照: http://ww1.tiki.ne.jp/~uri-works/

>とりあえず、うりさんのやっていらっしゃる手順をスクリプトで自動化してみました。
これはまた、時間を割いていただいてすみません。
形状とボーンを分けていないデータだと、パートごと変形したら階層下全部に影響してしまいますから、ジョイントのマトリクス値をリセットするのは難儀だったんですが、これだと気軽に出来ていいですね。

有難うございます。

>私がやってみたところでは、スキップジョイントやスキンを設定してたりすると
>変な具合になってしまうようです。
なるほど。その辺りは多分に影響しそうですね。

ジョイント関係は便利になったんですけど、バグが付いてくるとなると新機能も手放しに喜べないあたり悲しいです。前よりバグが多くなったのは困ります。
バグ無しソフトは理想ですけど、その難しさは多少知ってるつもりなので無下に言えないんですよね。とにかく、がんばって完成度を上げて欲しいと願うばかり。

>記録ができないというのはつらいですね。手軽に使えるというスクリプトのメリット半減。
実の所、コレは笑っちゃいましたが、JSの新しいリファレンスが出来ていないのには泣きました。
R4対応のモノでもとりあえず動いているみたいですから、しばらくはいいですけど、やはり不安がありますから早めに公開して欲しいですね。

特にプログラムっぽい事が苦手な私は、複数の言語なんて使えませんから(苦笑
file Re: 変換マトリクスのリセットについて ( No.5 )
日時: 2004/03/31 12:13
名前: 平山(管理人)
参照: http://www2u.biglobe.ne.jp/~k_hiray/ps_db/search/

>これはまた、時間を割いていただいてすみません。
いえ、ほとんどありもののプロシージャを流用しているので、
たいした手間はかかっていません。

>JSの新しいリファレンスが出来ていないのには泣きました。
特にR4から7だとかなり変わっているんでしょうね。
6用のスクリプトリファレンスは入手されましたか?
少しでも新しいやつの方がいいと思います。
最近のは、JSもVBSもWindowsScriptととしてまとめて説明しているようですね。

新しいパージョンで追加された部分はいいんですが、
なくなってたり名前が変わってたりする部分が面倒ですよね。
場合によってはShadeのバージョンによる分岐しなければいけないんですが、
R4のバージョンっていくつまでだっけとかわからなくなるんですよね(^^;;

>特にプログラムっぽい事が苦手な私は、複数の言語なんて使えませんから(苦笑
いやあ、JSであれだけ書いてらっしゃるんだから、他のも大丈夫ですよ。
(私は逆にJSで挫折しましたが・・・)
せっかくだからpythonとかどうです?  (^^)
file Re: 変換マトリクスのリセットについて ( No.6 )
日時: 2004/04/20 12:11
名前: うり
参照: http://ww1.tiki.ne.jp/~uri-works/

>6用のスクリプトリファレンスは入手されましたか?
早速落としてきました。
見たところ、私が使う分にはそれほど影響が無さそうなので、ひとまず安心しました。
PDFではなくなったので、そのぶん軽いですが検索が弱くなりましたね。


>新しいパージョンで追加された部分はいいんですが、
>なくなってたり名前が変わってたりする部分が面倒ですよね。
それが一番心配ですね。
代用機能があればいいですが、無かったらお手上げですから。
今回の7を購入するにあたっても、その点でビクビクしてました。


>せっかくだからpythonとかどうです?
いやいや、もう勘弁してください(笑
友人に助けてもらったりしながらやってますが、HomePageいじりと併用できる点でいいかなと思って、JSを使っているだけなので、他の言語を見たら頭がパンクしそうですよ。

でも、冗談で作った「おみくじスクリプト」のアクセス率が意外に高かったのはびっくりしました。ここのアクセス経過が分かるシステムならではの情報ですが、興味持った皆さんごめんないさいね。もうしませんから。


そういえば、メーカーサイトを覗いてみたら、沢山不具合が報告されているみたいですし、マトリクス関係の不具合も含めて早くアップデータ出してほしいですね。
4月頃には一度出すとかいう話もあったみたいですけど、何となく伸びそうな感じがします。


とりあえず、私はマシンのパワーアップを考えねば・・・。
file Re: 変換マトリクスのリセットについて ( No.7 )
日時: 2004/04/21 00:01
名前: 平山(管理人)

>PDFではなくなったので、そのぶん軽いですが検索が弱くなりましたね。
私はCGIの動作チェックのため、自分のパソコンにapache入れているので、
htmlのリファレンス関係はローカルで検索CGIを使っています。
http://www.kiteya.net/script/msearch/
インデックス方式なので、早いです。

これだけのためにapache入れるっていうのも面倒ですけどね・・・

>そういえば、メーカーサイトを覗いてみたら、沢山不具合が報告されているみたいですし、マトリクス関係の不具合も含めて早くアップデータ出してほしいですね。
何と使えるようになってればいいんですが・・・

親記事を見る

Page: [1]
検索フォームに戻る スレッド一覧 | 新規スレッド | 留意事項 | ワード検索 | 過去ログ | 管理用 |