第17回 カメラコントロール widget 機能追加 2 と面光源設定スクリプト
The Customize after tomorrow. おまたせいたしました。カメラコントロール widget への機能追加第二弾です。今回はカメラの視点と注視点をそれぞれ指定数値でXYZ軸のいずれかで回転させる機能と、傾きの機能を追加しました。前回予告した面光源の明るさを均一にするスクリプトについてもあわせてお話させていただきます。
- 今回の widget とスクリプトは 4/24日発行のメルマガにて配布しました。
- インストール先などは【インストール・使用法】をご覧ください。
- この記事は Shade 3D ver.14.1.3 を基準に書いています。ver.15 でももちろん有効です。
- 記事で紹介しているスクリプト(最新号分を除く)はマーケットプレイス「カスタマイズはいかがですか? 全部入り Script 」よりダウンロードできます。
- 記事で紹介している widget (最新号分を除く)はマーケットプレイス「カスタマイズはいかがですか? 全部入り Widget」よりダウンロードできます。
機能追加その2 数値でXZY軸回転と傾きも
こんな感じになりました。
一番右下のテキストボックスに回転させる角度を入力してボタンを押すと回転します。初期値では 15 が入っています。
注視点を回転させるアイコン群が上段に、視点を回転させるアイコン群が下段に並んでいます。 左から X軸、Y軸、Z軸回転で、それぞれ反時計回りと時計回りになってます。
一番下のは傾きです。これも反時計回りと時計回りのセットになってます。使う角度は共通です。
テキストボックス左のプルダウンメニューには 5 ~ 90 までのプリセットが 5 度刻みで入っています。ここから選ぶとテキストボックスに入力されます。
初期値やプルダウンメニューの数値をカスタマイズしたい方は index.html の 428行目からのプルダウンの数値、450行目の初期値の数値を書き換えちゃってください。
視点の回転ボタン
- X軸時計周り
- X軸反時計周り
- Y軸時計回り
- Y軸反時計回り
- Z軸時計回り
- Z軸反時計回り
注視点の回転ボタン
- X軸反時計周り
- X軸時計周り
- Y軸反時計回り
- Y軸時計回り
- Z軸反時計回り
- Z軸時計回り
傾きのボタン
- 反時計回り 数値にマイナスが設定されカメラは右に傾き、透視図は左に傾きます。
- 時計回り 数値にプラスが設定されカメラは左に傾き、透視図は右に傾きます。
追記:2015/04/25 17:42
傾きが正しく動作していなかった問題を修正したバージョンに差し替えました。申し訳ありませんでした。
お手数ですが再ダウンロードをお願いします。
昔用意しておいたアイコンは無かった事にしました。
面光源の明るさを均一にするスクリプト
Shade 3Dでは面光源の明るさは減衰基準距離(mm)かルーメンで指定しますが、実は同じ指定でも面の大きさによって明るさが変化しています。
ポリゴンメッシュの球を線形状に変換して、全部 800mmで明るさを設定してみます。
可視で見ると面の大きさごとに明るさが違っているのが分かります。
均一にするには面の大きさを同じにするか、面の面積に対しての明るさを計算して設定しないといけないので割と無理です。
文字など曲面がある複雑な面なんかははもうなにをどうしてよいのやらわからないのでスクリプトです。
面光源の明るさを記憶・適用 スクリプト
スクリプトメニューから「面光源の明るさを記憶・適用」スクリプトを選択します。
スクリプトは選択している面光源の数によって異なるダイアログを出します。
面光源を 1つだけ選択した時のダイアログ
面光源を記憶するときに使います。1つだけ選択してスクリプトを実行するとこのダイアログが出ます。
記憶ボタンで選択している面光源の面積に対する明るさ(ルーメン)を記憶します。
分割数は文字などベジェ曲線のある面光源に対してどのくらいベジェ曲線を分割するかに使用します。直線だけの多角形ではオフにします。
記憶するとメッセージダイアログが表示されます。
記憶したあとはモードに「適用」が表示されるようになります。
複数の面光源を選択した時のダイアログ
面光源の明るさを記憶してから使います。明るさを均一にしたい面光源を 1つ以上選択してスクリプトを実行するとこのダイアログが出ます。(なにも記憶せずに面光源 1つだけの場合は記憶用が表示されます。)
OKすると結果のメッセージが表示され、選択している面光源の面積に対する明るさが記憶した明るさで設定されます。
文字など複雑な形の面光源も均一になります。ベジェ曲線ですので分割をオンにして記憶・適用してください。
今回のスクリプトは過去に個人的に公開していたスクリプトにリクエストを頂きましたので現バージョンで動くように調整してご紹介させていただきました。引き続き、ご要望など受け付けておりますのでお気軽に下記よりお寄せくださいませ。
次回は七色スクリプトのwidget版のお話をする予定です。が、まだ手をつけていないのでドキドキしながらの告知です。生暖かい目でお待ちください。
次回もよろしくお願いします。
要望や質問、またユーザー同士の意見交換にShade3D公式ユーザーフォーラムをご用意しております。どうぞご利用くださいませ。