今回も懲りずに英語です。やはり書くのにめっちゃ時間がかかりますが、
これを乗り越えなければ未来無しっ! という事で先に英語で解説です。
またも、間違いだらけだと思いますが添削してもらって、のちのち直す予定です。
後半に日本語解説あります。
It's been a while since I wrote last tips.
I have to say sorry before I explain it. Because I made a mistake on last article.
I explained how to change color of a box diffuse,however in this time it's not necessary.
This is the code of the movie which I attached on end of last lesson.
------------------------------------------------------------------------------
s = 10
b = box length:s width:s height:s
for i =1 to 45 do
(
nb = instance b
rc = random 0 255
wcr = color 0 rc 255-rc
m = standardmaterial selfIllumAmount:100 Diffuse:wcr
nb.material = m
animate on
(
for j = 3 to 100 by 3 do
(
r1 = random -5 5
r2 = random -5 5
at time j
nb.pos = [r1,r2,0]*s
keyID = j/3 +1
nb.pos.controller.X_position.controller.keys[keyID].inTangentType = #step
nb.pos.controller.X_position.controller.keys[keyID].outTangentType= #step
nb.pos.controller.Y_position.controller.keys[keyID].inTangentType = #step
nb.pos.controller.Y_position.controller.keys[keyID].outTangentType= #step
)
)
deleteKey nb.pos.controller 1
)
delete b
---------------------------------------------------------------------------------
I suppose that from the beginning to the middle of code explanation isn't needed.
I will explain green color code.
for j = 3 to 100 by 3 do
Basically "for loop" increases by 1 count,but if you want to skip some steps you can specifiy
the number of steps by using "by".
nb.pos = [r1,r2,0]*s
"r1" and "r2" are random number from -5 to 5."s"is specified to 10 at the first line and it's used for size value of the Box. Therefore we multiply the random numbers and "s" to avoid crossing-over.
keyID = (j-1)/3 +1
nb.pos.controller.X_position.controller.keys[keyID].inTangentType = #step
nb.pos.controller.X_position.controller.keys[keyID].outTangentType= #step
Controllers which are set key frames have "Key index" to access key's properties .
In this case, I changed the tangent type of animation curve to "#step".
Key index is assigned by 1 in number order from 1 but ,"j" increases number by 3 (3,6,9,12.......)
so I divided "j" by 3 to get number from 1 by 1 to use it for Key index.
That's it.
See you then,next time!!
thank you.
---------------------------------------------------------------------------------
久しぶりの、スクリプトのすすめです。
解説の前に謝まらなければと、前回diffuseカラーをアニメーションする方法を解説しましたが、
前回の最後に貼ったムービーでは必要ありませんでした。
以下コードです。
------------------------------------------------------------------------------
s = 10
b = box length:s width:s height:s
for i =1 to 45 do
(
nb = instance b
rc = random 0 255
wcr = color 0 rc 255-rc
m = standardmaterial selfIllumAmount:100 Diffuse:wcr
nb.material = m
animate on
(
for j = 3 to 100 by 3 do
(
r1 = random -5 5
r2 = random -5 5
at time j
nb.pos = [r1,r2,0]*s
keyID = j/3 +1
nb.pos.controller.X_position.controller.keys[keyID].inTangentType = #step
nb.pos.controller.X_position.controller.keys[keyID].outTangentType= #step
nb.pos.controller.Y_position.controller.keys[keyID].inTangentType = #step
nb.pos.controller.Y_position.controller.keys[keyID].outTangentType= #step
)
)
deleteKey nb.pos.controller 1
)
delete b
---------------------------------------------------------------------------------
初めから、中間くらいまでは説明は必要ないと思いますので、グリーンの部分だけ説明しようと思います。
for j = 3 to 100 by 3 do
forループは普通 1から順番に1つづつ数が増えていきますが、数をスキップしてforループを
まわしたいときは byをつかって何ステップおきかのループにすることが出来ます。
nb.pos = [r1,r2,0]*s
r1とr2は-5から5までのランダムの値です。sは一行目で10と指定してあり
ボックスのサイズにも使っていますね。
sを掛け算することで、ボックスのポジションが重ならずにランダムに並びます。
keyID = (j-1)/3 +1
nb.pos.controller.X_position.controller.keys[keyID].inTangentType = #step
nb.pos.controller.X_position.controller.keys[keyID].outTangentType= #step
キーフレームを持ったコントローラーは、キーのプロパティのアクセスする為の
キーインデックスを持っています。今回はアニメーションカーブのタンジェントのタイプを
ステップタイプに変更しました。
キーインデックスは1から順番に(1,2,3,4、、、)と割り振られていますが、
jの値は3ステップで(3,6,9,12.......)値が増えていくので、3で割り算したものをインデックスの値として
使用します。
今回は以上です。
ではでは、また次回。
Tweet
1 件のコメント :
Thank you for different way againt last time, it's just more fun. Don't mind anything!
I'd like to see kind articles much more.
cheers!!
コメントを投稿