☆LightWave3D☆ ~Free Diary~

悪戦苦闘の3D制作の日々と、悪戦苦闘の日常を書き記していく日記です。

   


2013/01/18 【LScript関数_その6】

16754bc4.jpeg
続きです。


【range (ブール値出力)】

range_test_0001.gif 青の点線は範囲を表している。

一番目に指定した入力値(ピンクのNull)赤と緑のNullの2つの入力値の範囲内に入っているかどうかを確認する為の関数です。
 

range([P.Position.X],[R.Position.X],[L.Position.X])
      ピンク      赤        緑


ピンクのNullがその範囲内に入っていないと、Expressionを適用した黄のNullがステップ状に+1mから0mに移動してしまうのが分かります。
(黄のNullのデフォルト値は0mですが、このExpressionを適用して範囲内に存在していると1mになります。)

これは何かしらのアイテムモーションが範囲内に収まって動いているかの確認用か、チャンネル切り換えボタンに利用するかの2つになりそうですが、他にもいろんな事で使えるかもしれません。


 


【round (丸め)】

ん~、簡単に言えば一定のステップの幅や範囲を調整する為の関数でしょうか?
「え~い、細々とした数値は排除じゃ~!」って感じの機能です。
一番目の入力値(ピンクのNull)をコントローラー用に操作して、二番目の(緑のNull)入力値をステップの幅を決めます。

round([P.Position.X],[L.Position.X])
      ピンク       緑

このExpressionを黄色のNullに適用してピンクのNullを動かしてみましょう。


round_test0001.gif

黄色のNullはぴったりくっ付いて動いてるように見えますが、200mm間隔でステップ状に移動しています。
これは緑のNullがX軸1mの位置にあるからです。

更にこの緑のNullを2m移動するとどうでしょう?
ステップの幅は狭くなり160mm間隔で移動します。

 

今度は緑のNullの値を500mm、0mと距離を狭くしていきましょう。


緑のNullが500mmにある時、ピンクのNullが500mm移動すると黄のNullはステップ状に1m移動します。
(ピンクのNullがマイナス値を移動してる時は-1.5mで1m移動します)
 

そして、緑のNullの値が0mの時、はピンクのNullが500mm移動→黄のNullはステップ状に1m移動して緑のNullの値が500mmの時と変わりません。


なので、緑のNullの移動範囲は0m又は1m以上の数値を入力すると良い感じです。
 

しかし、緑のNullの位置が1mだと200mmのステップ移動と、0mだと1mのステップ移動と極端なものになってしまいます。
これはまた別のチャンネルか値でステップの幅を倍率で上げ下げ出来るようにExpressionを書き加えていく必要がありますね。

 

残り、「条件」の関数2つでLScript関数は終わりになります。
難しいものでなければ次回で終わらせていきたいですね。

 

拍手[1回]

COMMENT

NAME
TITLE
MAIL(非公開)
URL
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
PASS(コメント編集に必須です)
SECRET
管理人のみ閲覧できます

カレンダー

04 2018/05 06
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

プロフィール

HN:
d_suzukky
性別:
男性
自己紹介:
こんにちは、d_suzukkyです。

田舎暮らしでのほほんと3DCGの勉強をしています。

ブログ内検索

Booklog

最新トラックバック

バーコード

フリーエリア

Copyright ©  -- ☆LightWave3D☆ ~Free Diary~ --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS /  /