トップページに戻る
 
  スレッド一覧 | 新規スレッド | 留意事項 | ワード検索 | 過去ログ | 管理用 |
icon コントロールポイントの座標について
日時: 2005/06/07 17:45
名前: はる  メールを送る

コントロールポイントの座標抽出方法を知っている方いらっしゃいますか。
xmldshd形式でエクスポートすることで、座標を読み取ることはできるのですが、
その座標は、基本形の座標らしく、回転などによるmove後の状態には対応していないようです。
move後のコントロールポイントの座標抽出方法を教えてください。
メンテ
Page: [1] [2]

file Re: コントロールポイントの座標について ( No.1 )
日時: 2005/06/07 19:23
名前: 管理人

エクスポート−テキストでもいけると思いますが、アンカーポイントの座標値だけでいいのなら
スクリプトを使うのが一番簡単だと思います。tclだと

for {set i 0} {$i <$number_of_anchor_points} {incr i} {
    message [anchor_point $i]
}

で、メッセージウインドウに表示できます。
ファイルに書き出したい場合は、

begin_dialog
append_string_dialog_item "ファイル名"
set_string_property_value 0 to "**"
if [ask_dialog] {
    set file_name [get_string_property_value 0]
} else {
    end_dialog
    return
}
end_dialog

set nap $number_of_anchor_points
set co {}
for {set i 0} {$i <$nap} {incr i} {
    lappend co [anchor_point $i]
    message [anchor_point $i]
}

set file_ID [open "${file_name}.txt" w]
puts $file_ID $co
close $file_ID

という感じでしょうか。
メンテ
file Re: コントロールポイントの座標について ( No.2 )
日時: 2005/06/07 20:35
名前: Jun

はる様、こんばんは。

ここで、スクリプトの解説をダウンロードされてはいかがでしょうか。
http://shade.e-frontier.co.jp/download/dev_6script20.html
現在は6用しかありませんが、もしはる様がお使いのShadeとバージョンが違っていても大抵動作します。

目的にもよりますが、スクリプトを開発されるのであれば平山様が提案されたTclが最適だと思います。
開発ではなく、作業中にちょっと確認したいのなら、でった☆様のD_CP_Info.pyc や まさ様のpoint_edit がよいと思います。

もしも、Macをお使いでShadeの情報をスクリプトでリアルタイムに取得・表示して、プラグインのようにする必要があれば、NSTaskでusr/bin/osascriptを呼び出し、スクリプトを指定すると簡単にできます。NSTask内なので、無限ループを使っても平気ですし、タスクを分けると結構速くなりますので。

また、エクスポートして値を読み取る方法は、AppleScriptに限るかもしれませんが、一部の文字があるとエラーになるので、わざと文字化けさせたりとややこしい事をしなければならないのであまりお勧めできません。
メンテ
file Re: コントロールポイントの座標について ( No.3 )
日時: 2005/06/07 21:17
名前: まさ メールを送る

まさといいます。
何を使ってデータを得るかをはっきりさせる必要があります。
正直いうとスクリプトでは、ワールド座標値を得ることは不可能と思います。
というのも、どのスクリプトでも通常は、anchor_point 的表現でアトリビュートか関数で得られた
データはローカルの座標値です。通常は、その値をlocal_to_world のマトリックスを掛けて
ワールドの値を得るのですが、もし、ジョイント等で移動した場合そのジョイントがスキンを介して
与えた場合、上記のlocal_to_world のマトリックスでは正しい値は得ることは出来ません。
その場合は、別途そのanchor_pointのスキンから、スキン毎のlocal_to_world のマトリックスを取得
して、その値を使わなければいけません。スクリプトを使う場合、スクリプトではそれらの完全な環境を
提供していないようです。(というのもスクリプトの最新のリファレンスはまだ公表されてません。
ですので、私はしばらくスクリプトから遠ざかってます。)
もし、プラグインを使うなら、エキスポートプラグインで、各ポイント毎に計算して出力するように
作れば正確な値を得ることが出来ると思います。
メンテ

親記事を見る

Page: [1] [2]
マークトップページに戻る スレッド一覧 | 新規スレッド | 留意事項 | ワード検索 | 過去ログ | 管理用 |

題名 スレッドをトップへソート
名前
E-Mail
スパムメール対策のため、[表示]にしてもメールアドレスが直接表示されることはありませんが、サンプルのようなメールフォームでメールを受け取ることができます。
メールフォームサンプル サンプル  メールヘッダについて
URL
投稿キー (投稿時 投稿キー を入力してください)
添付ファイル (最大300KBまで gif jpeg png text zip pdf midi swf)
コメント (^^) (^_^) (+_+) (^o^) (^^;) (^_-) (;_;)

(改行、インデントが反映されます)

   クッキー保存    パスワード  (記事メンテ時に使用)