第16回 光源の方向設定スクリプト
I'm Happy Just To Dance With Customize. なんだかどん引きな英文になりましが、今回は光源の向きを揃えるのに半球やらマニピュレータで揃えていたら、ちっとも作業が終わらなかったので作ったスクリプトのお話です。スクリプト作る方が時間がかかったのはいつものことです。
- 今回の widget は 4/17日発行のメルマガにて配布しました。
- インストール先などは【インストール・使用法】をご覧ください。
- この記事は Shade 3D ver.14.1.3 を基準に書いています。ver.15 でももちろん有効です。
- 記事で紹介しているスクリプト(最新号分を除く)はマーケットプレイス「カスタマイズはいかがですか? 全部入り Script 」よりダウンロードできます。
- 記事で紹介している widget (最新号分を除く)はマーケットプレイス「カスタマイズはいかがですか? 全部入り Widget」よりダウンロードできます。
光源の種類
Shade 3Dで扱える光源には以下の種類があります。無限遠光源だけ無限遠光源パレットからのみ操作できます。
無限遠光源
太陽のように遠くから平行に照らします。
点光源
一点から360度方向を照らします。
スポットライト
一点から指定方向を照らします。
平行光源
円の範囲で指定方向を平行に照らします。
配光光源
IGSデータで指定方向を照らします。
環境光光源
環境光として周囲を照らします。
線光源
線形状のライン上を360度照らします。
面光源
面の範囲で指定方向を照らします。
このうち赤字になっている無限遠光源、スポットライト、平行光源、配光光源、面光源が方向を指定できる光源となります。
光源の方向をセットする
Shade 3D で方向をセットするには、無限遠光源は半球で位置をクリック、光源形状はマニピュレータなどで回転させるか、方向コントロールポイントをドラッグしてセットします。
直感的に操作はできますが、座標決めて複数セットするには面倒なのでスクリプトです。
まずはカーソル位置をセット
最初に照らしたい位置をクリックしてカーソル位置をセットします。(ラージカーソルにしてあります。)
頂点などに合わせたいときは、形状編集モードで頂点をクリックするとその位置にセットされます。
図面操作ポップアップメニューから「選択形状にカーソル」を使うとその形状の中心にセットできます。
option ( Mac ) / control ( Win ) キーを押しながらクリックすると、形状を選択しないでカーソル位置をセットすることもできます。
向きを変える光源を選択
ブラウザで向きを設定する光源を選択します。複数選択できます。
無限遠光源の向きを設定する場合は光源以外の何か、パートや形状を選択します。設定されるのは現在選択されている番号の無限遠光源となります。
光源と光源以外をまとめて選択すると、光源と無限遠光源の向きが設定されます。
無限遠光源・光源の向きをカーソル位置に スクリプト
スクリプトメニューから「無限遠光源・光源の向きをカーソル位置に」を選択します。
カーソル位置を照らすように各種光源の向きがセットされます。(ここでは光源と無限遠光源両方の向きをセットしています。)
スクリプト実行前
スクリプト実行後
まとめて一カ所照らしたり(鼻の位置のカーソルに光源の向きをセットしています。)
形状ごとに違うライトで照らしたりしやすくなります。
※無限遠光源に限っては原点( X 0.0, Y 0.0, Z 0.0 )の位置とカーソル位置から計算していますので、意図しない方向から照らされる場合があります。これについては良い仕様が見つかり次第実装させていただきたいと思います。
次回はカメラコントロールへの指定単位軸回転を実装と、面光源の明るさを均一化するスクリプトのお話をする予定です。
次回もよろしくお願いします。
要望や質問、またユーザー同士の意見交換にShade3D公式ユーザーフォーラムをご用意しております。どうぞご利用くださいませ。