四面図で上面図、正面図、右面図、プレビューレンダリングの状態にしていました。
そして、上面図、正面図、右面図で作業していて、ふとプレビューレンダリングを見ますと、ピンクのような現象がでました。
保存して、開き直すと思っているようになることがありました。
どんなことが考えられますか?
—使用環境-----------------
Windows8.1 Pro 64bit
Shade 3D Ver15.1.2Basic
四面図で上面図、正面図、右面図、プレビューレンダリングの状態にしていました。
そして、上面図、正面図、右面図で作業していて、ふとプレビューレンダリングを見ますと、ピンクのような現象がでました。
保存して、開き直すと思っているようになることがありました。
どんなことが考えられますか?
—使用環境-----------------
Windows8.1 Pro 64bit
Shade 3D Ver15.1.2Basic
yoshiさん、こんにちは。
「ピンクで囲った部分がおかしい」との事ですが、具体的にどこがどうおかしいのか説明すると、他の方もコメントをしやすいかと思います。
画像を見るに、ピンクの部分がおかしいというより、正面図とプレビューレンダリングの比較では直方体が立方体みたいに膨らんでいるのが気になりました。
四面図を見ると、二つの直方体を三つの円柱で切り抜く形でレンダリングブーリアンを使用されているのでしょうか?
助言ありがとうございます。
円柱は「他形状と重なる部分を削り取り、*形状の表面材質を適用する(*形状自体はレンダリングされない)」の設定をしてます。
作業としましては、立方体に見える閉じた線形状の掃引体を均等拡大縮小したり直線移動したりしている時に発生していました。
再現性はないです。
発生した現象というのは、
上面図、正面図などで形状の変更を行ったにもかかわらず
プレビューレンダリングの画面では「変更前の形状が表示されている」ということでいいでしょうか。
だとすれば、プレビューレンダリングで使用しているレンダリングの設定にもよりますが
形状変更作業後にパソコンに負荷がかかりプレビューレンダリングの更新が遅れている
または、更新できなかっただけのような気がします。
プレビューレンダリング自体が負荷のかかる処理なので
同時にウイルスチェックなどを行っていると更新が遅れたりしても不思議ではないです。
もし、yoshiさんが指摘している発生した現象が「ブーリアンレンダリング」の処理についてであれば「ブラウザ」も表示してもらえると助かります。
発生した現象の内容は、CG_Gadgetさんが、まとめて頂いた内容です。
ご返答の内容の感じだと、もう少し待てばよかったような感じですね。
たしかにパソコンの負荷は高いですね。結構投資していたつもりなのだが
少し誤解されているような気もしますが、
基本的にレンダリング時のCPUは、
性能を最大限に発揮してレンダリングを早く終わらせようとします。
そのためレンダリング中のCPU使用率が100%になっていてもおかしくはないです。
試しにyoshiさんがアップされた画像を参考にして
2つの立方体(閉じた線形状の掃引体)を作成し
プレビューレンダリングのレンダリング手法を「パストレーシング」に設定して
マニピュレータで立方体を1つだけ移動させてみましたが
Core-i7 4790Kでも簡単にCPU使用率が100%になりました。
直近のyoshiさんの「たしかにパソコンの負荷は高いですね。
結構投資していたつもりなのだが」の書き込みから
「CPUの性能が上がれば、その上がった分の余力が発生し
CPUの使用率が下がるはず。」と解釈されているような印象を受けましたが、
上がった分もレンダリングに使うのでCPU使用率は100%でもおかしくはないです。
はい。誤解していました。
しかも。じっとしている時は、性能があがると使用率が徐々に低下していくように想像しています。
ところで、CPUの使用率の挙動は、設定にあるパストレーシングとパストレーシング(大域照明)では、大変違うのですね。背面を見たかったので、理由も考えずにパストレーシング(大域照明)にしていました。
設定をパストレーシングにして、スポットライトを使うとファンの音も静かになってきました。
パストレーシングとパストレーシング(大域照明)の違いは何なのだろう。
それから、スポットライトもうまく使うといい感じですね。
「パストレ-シング」と「パストレ-シング(大域照明)」の違いについて説明する前に
「大域照明」についてざっくりと説明しておきたいと思います。
大域照明とは、間接光を伴うレンダリング技法のことで、
主に写実的なレンダリング結果を求めるときに使用します。
Shade 3D Ver.15では、大域照明に「パストレ-シング」「フォトンマッピング」「パストレ-シング+フォトンマッピング(Standard以上)」「ラジオシティ」が用意されています。
では、「パストレ-シング」と「パストレ-シング(大域照明)」の違いについてですが、
まずは以下の画像をご覧ください。
真ん中の上寄りにある光源の周囲に明らかな違いが見て取れると思いますが、
「パストレ-シング」の方では、間接光を使用していないため
壁や床からの照り返しを得られず光源の周囲が真っ暗なのに対して、
「パストレ-シング(大域照明)」の方では、間接光を使用しているので
壁や床からの照り返しの影響で光源の周囲も明るくなっています。
また、右下手前の球体が落とす影にも違いが見られます。
パストレ-シングの方では、暗くて床のチェック模様が判別できませんが、
パストレ-シング(大域照明)の方では、周囲からの照り返しの影響で床のチェック模様が判別できます。
ちなみに、「表示光源設定」に「すべての光源」または「大域照明」を設定しているとステータスバーに
「照度調節」が出現しスライダ-、又はテキストボックスに直接入力することによって
シーン内のすべての光源の明るさを一括調整します。
「背面を見たかったので、理由も考えずにパストレーシング(大域照明)にしていました。」
背面の確認だけでしたら、
プレビュ-レンダリングの「レイトレーシング(ドラフト)」や「レイトレーシング」で十分だと思います。
各画像の使用ソフト:Shade 3D Professional ver.14.1.3 64bit
ご回答ありがとうございます。
大変参考になりました。
水晶玉や中央の宝石の光の感じが大変綺麗です。
ちなみに右下の球体は、よく磨かれた銀玉でしょうか?
青い部分が混じった透明な玉でしょうか?
磨かれた銀の玉という設定ですね。
材質の反射の機能を使ったのですね。
反射や影のプログラムが上手くできていますね。現実もこんな感じになるのかな
ところで、矢印のところに「停止」と「開始」という具合に切り替わるボタンがあるのですね。「(押すと~を)開始(します)」の状態だと、上面図、正面図、右面図で作業したことが、プレビューレンダリングの画面に反映されないみたいですね。
yoshiさんが報告されていたプレビューレンダリングの不具合ですが、私の環境でも発生しました。
どうも今のバージョンではこういうバグがあるようです。
windows7 pro 64bit
shade 3D ver15.1.2standard版
プレビューレンダリングをONにしてると、何かの拍子に形状を移動とか拡大縮小・その他の加工をしてもプレビューレンダリング側がメッシュ情報の更新を行わず、そのためプレビューレンダリングウインドウでは加工前のまま、その他の図面(上面図、側面図、正面図)は加工後の表示・・・みたいなおかしな感じになってしまいます。
表面材質ウインドウで表面材質を変更すると、プレビューレンダリングを「停止」にしているわけではないのに、表面材質の更新が行われません。
また、カメラの操作などをすると、表面材質の更新だけが行われて、メッシュ情報自体は更新されないようです。
どうも何かの拍子にプレビューレンダリングのメッシュ情報の更新が止まったままになり、それがずっと続くというバグがあるようです。
何がトリガーなのか不明ですが。
バグについて補足しておきますと、カメラ操作などで角度を変えると、プレビューレンダリングウインドウでは再レンダリングがされるのですが、何故かメッシュ情報だけが昔のまま、みたいな事になっているのです。
プログラム内部で、何かの拍子にメッシュ情報の更新が止まってしまっているのだと思います。
シーンファイルを保存して、一度shadeを終了してから再起動すると、プレビューレンダリングのこのバグは解消されるようです。
情報ありがとうございます。前半のお話は同じ現象です。後半は、試していないので不明です。
何がきっかけになるのでしょうね。
ところで、矢印のところに「停止」と「開始」という具合に切り替わるボタンがあるのですね。
「(押すと~を)開始(します)」の状態だと、上面図、正面図、右面図で作業したことが、
プレビューレンダリングの画面に反映されないみたいですね。
そうですね。「停止」と表示されている場合は、プレビューレンダリングの自動更新が「ON」の状態なので
レンダリング結果に差異が生じると自動的に再レンダリングを行います。
そのため、停止ボタンが表示され再レンダリングが不必要な時に、ユーザー側が意図的に「OFF(停止)」にできるようになっています。
逆に「開始」と表示されている場合は、プレビューレンダリングの自動更新が「OFF」の状態なので
レンダリング結果に差異が生じても自動的に再レンダリングを行いません。
そのため、開始ボタンが表示され再レンダリングが必要な時に、ユーザー側が意図的に「ON(開始)」にできるようになっています。
負荷のかかり過ぎが原因かと思っておりましたが、
dadada66さんの書き込み内容から判断すると、描画関係の不具合かもしれませんね。
描画関係の不具合だと、
グラフィックドライバーを最新の状態にすると不具合が改善されるかもしれません。
ただ、更新したことによって別の不具合が発生する場合もありますし、
再現性が無い場合だと改善したかどうかもわからないですし、
はっきりとしたことがわかるまでは更新しなくてもいいでしょうね。
今のところ私の方では似たような現象ですら発生しないので検証できていませんが、
仮に描画関係の不具合だとすると
・グラフィックドライバ-のバージョン
・グラフィックボードの型番
などの情報がわかると開発部の方たちも原因を特定しやすくなるかもしれません。
あと、気になったことがあります。
透視図をプレビューレンダリングからシェーディングに切り替えたときのメッシュの状態。
三面図と同じ更新後の状態だったのか、それとも更新前の状態だったのかが気になります。
それと、「透視図」を「正面図」や「背面図」などに変更しても更新前の状態だったのかといった点が気になります。
一応、私の環境も書いておきます。
CPU:Core-i7 4790K
メモリ:16GB
グラフィック:Quadro K2000(ドライバー:340.84)
OS:Windows7 64bit
ソフト:Shade 3D Professional ver.14.1.3 64bit
描画方法:OpenGL 3.2(OpenGL 3.2 Core Profileアクセラレータを使用する)
情報ありがとうございます。
試しに更新プログラムでグラフィックアダプターがあったので、更新して様子を見てみます。
ところで、グレード別機能比較 を見ていますと、 インターフェイスでGLSL、DirectX、OpenGLと色々書かれているのですが、ここいらのバージョンをスクリプト(python)で出力するのは、どうしたらよいのだろう
import os
cmd = "dxdiag"
os.system(cmd)
色々なウィンドウを開けずにメッセージの画面にprintを使って表示させたいと思っています。アドバイスお願いします。
dxdiagは/tオプションで内容をテキストファイルに書き出せるので
・dxdiagの情報を一時ファイルに出力
・スクリプトから読んでprint文に渡す
という方針で一応動きましたが,正直便利ではないと思います.
import os
import subprocess
import time
def main():
# 作成する一時ファイルのフルパス
temp_file_name = "C:\dxdiag_info_shade3d.tmp"
# dxdiagのログを出力させる
subprocess.call(["dxdiag", "/t", temp_file_name])
# ファイルが出力されるのを待つ
for i in range(100):
if os.path.exists(temp_file_name): break
time.sleep(0.1)
if not os.path.exists(temp_file_name): return # タイムアウト
# ファイルの内容を出力
f = open(temp_file_name, "r")
for line in f: print unicode(line, "shift-jis").encode("utf-8").strip()
f.close()
# 後片付け
os.remove(temp_file_name)
return
if __name__ == "__main__": main()
ありがとうございます。
私のディレクトリーのセキュリティの関係では、上手いかなかったので、temp_file_name の行は、少し修正しました。
そして、
# ファイルの内容を出力
f = open(temp_file_name, "r")
for line in f :
str=unicode(line, "shift-jis").encode("utf-8").strip()
if "DirectX Version" in str :print str
f.close()
と触らして頂いて、
DirectX Version: DirectX 11でした。
OpenGLがどれなのかな?