Shade online フォーラム
ログイン
ユーザ名:

パスワード:

IDとパスワードを記憶

パスワード紛失
スレッド表示 | 古いものから 投稿するには登録が必要です 前のスレッド | 次のスレッド | 下へ
投稿者 スレッド
投稿数: 10
投稿日時: 2005-06-16 20:58
Re: 座標データーを使ってパスを描くには
追加です。
パスにそって、物体が移動するアニメーションのスクリプトです。
参考までに。
tell application "Shade 6 professional"
activate
select parent 1
select parent 1
select child 1
select brother 1
set motion window to true
set sequence value to 0.0
set current joint value to 0.0
create key point at 0.0
set sequence value to 150.0
set current joint value to 1.0
create key point at 150.0

end tell

注、これを実行する場合、パスと移動させる物体がすでにshadeで作られている必要があります。別途用意してください。
投稿数: 10
投稿日時: 2005-06-16 20:49
Re: 座標データーを使ってパスを描くには
こんばんは。またおもしろい方法が見つかりました。
フォートランプログラムを使った面白いスクリプトの作り方です。
フォートランにあるOPEN命令を使った方法です。
(例)
 OPEN(1,FILE=”******.DAT”)

 N=10

 DO 10 J=1,N
   REDA(1,*)X,Y,Z
     WRITE(6,*)X,Y,Z
10 CONTINUE
   CLOSE(1)
   STOP
 END
と書けば、******,DATファイルから数値を読むことが出来ます。
ここで、数値を読んだ後、こんな文と付け加えてみると・・・・
  WRITE(6,30)X,Y,Z
30 FORMAT(’append point at {’3F15.6’}’)
実行すると、
append point at { X , Y , Z }



というふうに、10個の座標が出力されます。
これをコピーペーストでアップルスクリプトに貼付けます。
プログラムの頭に、
tell application "Shade 6 professional"
activate
start polygon without closed
を付け加え、プログラムのオシリをくくれば、パスを生成するスクリプトの完成!です。
この方法は別のプログラミング言語を使ってスクリプトを書こう、という感じです。
今のところはフォートランでしか試していませんが、Cなどでもできると思います.(やり方が分かりませ〜ん)
また、フォートランの場合、丁寧に
プログラムの頭に、
tell application "Shade 6 professional"
activate
start polygon without closed
などもプリントし、,txtファイルに書出すようにすれば、出来上がったテキストファイルを丸ごとコピーペーストするだけで動くと思います。
説明不足のところもあるかもしれませんが・・・・・何か機会があれば試してみてください。
参考までに、shade 6 のスクリプトで見つけた命令を書いておきます。
アニメーションでキーフレームを作る場合
create key point at 0.0
パスの移動スライダーを動かす場合(モーションウインドウ内の)
set current joint value to 0.0
シーケンスルーラーを動かす場合
set sequence value to 0.0
子の階層に降りる
select child 1
一つ上(下)のパートに移動
select sister (brother) 1
などなど色々あります。shadeを立ち上げてスクリプトを記録してみるとコマンドが分かります。
 注、アニメーションをスクリプトで作るときですが、パスにそってキーフレームを作る場合、1、まずモーションウインドウを開き、2、シーケンスルーラーの値を設定、3、カレントジョイントの値を設定、4、キーポイントを作成。の順番でないと上手くできませんでした。
投稿数: 422
投稿日時: 2005-06-12 10:47
Re: 座標データーを使ってパスを描くには
もう一つ省力化案

{ 0.0 0.0 0.0 }
{ 100.0 0.0 200.0 }
{ 200.0 100.0 400.0 }

というデータがある場合
ワープロソフトで
{
を検索して
append point at {
にすべて置換で一気にスクリプトになりますので
あとは
tell application "Shade 6 professional"
activate
start polygon without closed

finish polygon
end tell
をコピー・ペーストすれば
スピードアップになりますね。
投稿数: 422
投稿日時: 2005-06-10 19:47
Re: 座標データーを使ってパスを描くには
ララさん
こっちの方がかっこいいですね
この方法でなんかできそうですね

勉強になりました
投稿数: 10
投稿日時: 2005-06-10 17:19
Re: 座標データーを使ってパスを描くには
warpさん、本当にありがとうございました。
できました!感謝です〜
warpさんのヒントを元にこんな方法でもできました。
1、スクリプトの記録ボタンを押して、shadeの開いた線形上をクリック。適当に直線を描きます.
2、スクリプトにもどると
tell application "Shade 6 professional"
activate
start polygon without closed
append point at {0.0, 0.0, 0.0}
append point at {0.0, 0.0, -800.0}
finish polygon
と書かれています。
この、append point at {0.0, 0.0, 0.0}
append point at {0.0, 0.0, -800.0}
の部分がどうも線形状の開始点、終了点を示しているようなので、
append point at { }
の部分をコピーして、ペーストしながら座標を入れていきました。
こんな感じに
tell application "Shade 6 professional"
activate
start polygon without closed
append point at {0.0, 0.0, 0.0}
append point at {100, 100, 100}
append point at {200, 100, 500}
append point at {200, 300, 400}
append point at {100, 200, 400}
finish polygon
end tell
この方法でも、座標のとうりに描けました。
 warpさん、アドバイスありがとうございました!
また、他に”こういうふうにすればもっと簡単にできるよ”というご意見がありましたら教えてください。
投稿数: 10
投稿日時: 2005-06-10 16:46
Re: 座標データーを使ってパスを描くには
warpさん情報ありがとうございます。
さっそくやってみます。
投稿数: 422
投稿日時: 2005-06-10 14:28
Re: 座標データーを使ってパスを描くには
すみません、どうして三つも投稿になってしまったのか?
管理者の方削除お願いいたします。
投稿数: 422
投稿日時: 2005-06-10 14:26
Re: 座標データーを使ってパスを描くには
アップルスクリプトの記録と変換マトリックスを利用してみてはいかがでしょうか
1.原点(0.0 0.0 0.0)の地点から開いた線形状で適当な線を引く
2.その線をパートに入れる
3.パートごと選択して3次元的に直線移動してみる
4.特別の情報を見るで変換マトリックスを見る
5.移動情報を見てみると一番下の項目に数字が入っている、ここが移動情報です
一連の動作をアップルスクリプトで記録できますので記録したスクリプトを見てみると

set transformation matrix to {1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1000.0, 1000.0, 1000.0, 1.0}
の 1000.0, 1000.0, 1000.0, の部分が移動情報だと分かります、そこで私はこんなふうにやってみました

----------------------------------
tell application "Shade Professional R5"
activate
copy object translate {0.0, 0.0, 0.0}
set transformation matrix to {1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1000.0, 1000.0, 1000.0, 1.0}
set flat joint to false
set joint blend to 0.5
copy object translate {0.0, 0.0, 0.0}
set transformation matrix to {1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 100.0 0.0 200.0, 1.0}
set flat joint to false
set joint blend to 0.5
set transformation matrix to {1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 200.0 100.0 400.0, 1.0}
set flat joint to false
set joint blend to 0.5
end tell
-------------------------------

copy object translate {0.0, 0.0, 0.0}
set transformation matrix to {1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1000.0, 1000.0, 1000.0, 1.0}
set flat joint to false
set joint blend to 0.5
の部分をコピー・ペーストして必要な数だけペースとして1000.0, 1000.0, 1000.0の部分だけ数値を入れ替える
100個くらいならできそうです。

後はエリア選択の方法でパートの中身だけ選択して自由曲面に移し替えて、切り換えて(0.0 0.0 0.0)から書き始めている
線形状を自由曲面から抜き出すと指定通りの座標を通過するカクカクの一本の線形状になります、
後はスムーズにするなりそのまま使うなり自由にできます。

使用環境はShade Professional R5 / Mac OS 9.1ですが基本機能しか使ってないのでOS Xでも可能だと思います
使用時はShadeのスクリプトメニューから使わないと動作に時間がかかります


もっとかっこよくできるかも知れませんが・・・(^_^;)
投稿数: 10
投稿日時: 2005-06-09 21:05
座標データーを使ってパスを描くには
みなさんこんにちは。
 パスにそって飛行機のような物体を飛ばすアニメーションを作りたいと思っています。で、そのパスなんですが・・・・座標が与えられていて、それにそって配置したいと思っています。
座標はこんな感じに与えられています。
{ 0.0 0.0 0.0 }
{ 100.0 0.0 200.0 }
{ 200.0 100.0 400.0 }
     ・
     ・
     ・
と、100個くらいあります。
手作業で入力するのがかなりきついので、スクリプトを使って出来ないかな・・・・と考えていたのですが、スクリプトの知識が無いのでお手上げになっています。
 座標のデーターは"txt" 形式で保存されたファイルに書かれています。
スクリプトは作業の手順の記憶と再生くらいしか使ったことがありません。
 どうすればデーターを読み出して、パスを描くことができるでしょうか?
 また、他に何か良い方法はないでしょうか?
何か知っておられる方がおられましたら、ぜひ教えてください。

今使っているのはshade6 professional で、
OS は MacOSX 10.2 です。
 よろしくお願いします。
スレッド表示 | 古いものから 投稿するには登録が必要です 前のスレッド | 次のスレッド | トップ

最近の投稿

フォーラム スレッド 返信 閲覧 最終投稿
Free Talk DNAの2重らせんの水素結合部位の作成 0 11818 2016-08-01 21:37 Benthos
Free Talk パート内の名前を一括返還 2 14333 2016-03-07 12:21 画像投稿機
Dev Forum イームズシェルチェアーの作成 2 14218 2015-11-25 14:44 CR7
Free Talk MOVファイルについて 17 35373 2014-12-29 17:14 momokuma
Dev Forum 2種類の液体アニメーションを作る方法 0 14310 2014-11-13 10:42 mejapan
Free Talk 面取りについて 0 13442 2014-11-08 15:18 MoonChild
Free Talk 丸太を結ぶ縄の作成について 1 19633 2014-09-18 22:33 kenslab
Free Talk パーティクルフィジックスのメタパーティクルについて 0 13891 2014-09-03 20:40 penta
Free Talk データの保存に関して 2 13747 2014-08-18 01:24 sierra
Free Talk Shade 3D ver14での、ポリゴンメッシュへの変換以上終了 1 14170 2014-04-23 12:04 MASA_