mieki256's diary



2021/08/25(水) [n年前の日記]

#1 [povray] Bishop3DからPOV-Ray3.7を呼び出すことができた

Bishop3D は Windows上で利用できる POV-Ray用のモデリングツール。モデリングツールと言うか…プリミティブの配置をGUIで変更できるツールとでもいうべきか…。

Windows10 x64 21H1上で、POV-Ray 3.7、Bishop3D 1.0.5.2 をインストールして試用していたのだけど、Bishop3D から POV-Ray を呼び出そうとすると「pvengine.ini が見つからない (Could not find pvengine.ini)」とエラーが出て正常動作しなかった点が気になっていて、そのあたりを解消できないのかなと少し調べていたわけで。

色々試していたら、エラーを出さずに呼び出せるようになったので、設定手順をメモ。

ちなみに、Bishop3D は公式サイトが消滅しているけど、WebArchive から bishop3d1052setup.exe を入手できた。

_Bishop3D - POV-Ray Modeler and Animation System (WebArchive)

iniフォルダ等の場所を変える。 :

Bishop3D は POV-Ray 3.6 時代に作られたツールなので、POV-Ray 3.6時代のフォルダ構成で決め打ちしてファイルを読み込むように作られているっぽい。

そして、POV-Ray 3.7 は、"(ドキュメントフォルダ)\POV-Ray\v3.7\" 内に iniフォルダや includeフォルダが入っているけれど、POV-Ray 3.6 は、POV-Ray本体インストールフォルダ内にiniフォルダやincludeフォルダが入っていたらしい。

故に、Bishop3D から POV-Ray を呼び出そうとすると、pvengine.exe のある場所を起点にして、..\ini\pvengine.ini を探しに行って、しかし iniフォルダが無いから、「pvengine.ini が見つからない」と言ってくるのだろうなと…。たぶん。

なので、ドキュメントフォルダ\POV-Ray\v3.7\ 内のiniフォルダやincludeフォルダが、POV-Ray 3.7 の本体インストールフォルダ内にもあるように見せかければいい。具体的には Windows のシンボリックリンクを使う。

_Windowsでシンボリックリンクを作る | DevelopersIO

例えば、自分の環境は、C:\Prog\POV-Ray\v3.7\bin\ に pvengine.exe が入っているので…。管理者権限でコマンドプロンプト(cmd.exe)を開いていて…。
  • mklink /d C:\Prog\POV-Ray\v3.7\ini (ドキュメントフォルダ)\POV-Ray\v3.7\ini
  • mklink /d C:\Prog\POV-Ray\v3.7\include (ドキュメントフォルダ)\POV-Ray\v3.7\include
こんな感じでシンボリックリンクが作れる。

これで、iniフォルダやincludeフォルダの実体はドキュメントフォルダ内にあるけれど、POV-Ray本体をインストールしたフォルダ内にもそれらのフォルダが存在してるように見せかけることができる。

pvengine.iniを編集。 :

Bishop3D は、POV-Ray と通信する際に、Bishop3DPovComm.dll というDLLを使う。このDLLの場所を、事前に pvengine.ini に記述しておくことで、POV-Ray起動時に、POV-Ray が Bishop3DPovComm.dll を読み込むようにしてやらないといけない。

pvengine.ini を編集する。POV-Ray (pvengine.exe) を起動して、Tools → Edit PVENGINE.INI を選択する。POV-Rayエディタで、pvengine.ini が開かれる。

[GUIExtensions] という項目の下に、「ExtDLL16=(Bishop3Dインストールフォルダ)\Bishop3DPovComm.dll」を追記する。
[GUIExtensions]
UseExtensions=1
ExtDLL16=C:\Prog\Bishop3D\Bishop3DPovComm.dll
ExtDLL16 の 16 は、1〜30 ならどれでもいいらしい。数値が重なって無いことが重要らしい。

POV-Ray を終了して、再度 pvengine.exe を起動。

POV-Ray 起動時の Messages タブの最初のほうで、以下のように出力されていたら、Bishop3DPovComm.dll を読み込めている。
DISCLAIMER : The POV-Team takes no responsibility for the operation of third-party GUI Extensions.
             Please do not send us bug reports if they cause things to go haywire.

GUI Extension 'POV-Bishop3D Communication' loaded from 'Bishop3DPovComm.dll'
  Report any problems to Hugo Arnaut <hugo@bishop3d.com>

ちなみに、Bishop3DPovComm.dll は 32bit用のプログラムなので…。ファイル名からしておそらくは64bit版であろう pvengine64.exe を起動すると、以下のように「読み込めないよ (Could not load GUI Extension DLL 'Bishop3DPovComm.dll')」とメッセージが出力される。
DISCLAIMER : The POV-Team takes no responsibility for the operation of third-party GUI Extensions.
             Please do not send us bug reports if they cause things to go haywire.

Could not load GUI Extension DLL 'Bishop3DPovComm.dll'

Bishop3Dにpvengine.exeを登録。 :

Bishop3D を起動して、pvengine.exe の場所を設定する。
  1. Settings → Options を選択。
  2. Render options → POV-Ray integration
  3. POV-Ray executable に、pvengine.exe の置いてある場所を指定。(例: C:\Prog\POV-Ray\v3.7\bin\pvengine.exe)

注意点としては、Bishop3D は32bit版のプログラムなので、POV-Ray も 32bit版の pvengine.exe、もしくは pvengine32-sse2.exe を指定しないといけない。最初、64bit版の pvengine64.exe を指定してしまって、動かないなーと悩んでしまった…。

これで、シーンを編集後…。
  • F9キーを叩く。
  • または、Render → Render Current Frame を選ぶ。
  • あるいは、ツールバー上のアイコン(Render Current Frame(f9)) をクリックする。
bishop3d_povray_ss01.png

bishop3d_povray_ss02.png

これで、POV-Ray が起動してレンダリングが行われる…はず。手元の環境ではちゃんと動いてくれた。

bishop3d_povray_ss03.jpg


それにしても…何なんだろう…。このレンダリング結果の、「ザ・1990年代感」は…。

余談。アプリのインストール場所について。 :

Windowsにおいては、一般的にはアプリの類を C:\Program Files (x86)\ や C:\Program Files\ にインストールするけれど。Windows10 はそれらのフォルダを特殊なフォルダとして扱うようになっているので、例えばそこに .iniファイルが入ってたりすると、アプリ側から書き換えることができなくて、昔に作られたアプリなどは正常動作しなくなる可能性があるよなと…。

おそらくだけど、POV-Ray 3.7 が、本体インストールフォルダではなく、ドキュメントフォルダ内に iniフォルダを移動したのも、そういう理由ではないかと想像するわけで。

その手のトラブルに遭遇するのは面倒臭いし、ファイルパスやフォルダパスに空白文字が入ると、CUIで作業をする時にパス指定が面倒だったりするので…。自分の環境では C:\Prog\ というフォルダを作って、フリーソフトや、昔に作られたアプリは、そこにインストールして使っていたりする。故に、今回試用してる POV-Ray も、最初から C:\Prog\ の中にインストールしたわけで。

ただ、ソフトによっては、自身や関連ソフトが、必ず C:\Program Files\ にインストールされているはず! …と決め打ちして作られているものもあって。Windows95/98時代は、C:\Program Files\ にインストールするのが当たり前だったから…。そういうソフトに遭遇すると、これがまた面倒で…。

まあ、このへん、Windowsの歴史的な経緯が絡んでるから、仕方ないのだろうけど。

#2 [blender][povray] blender + POV-Rayを試しているけれどなかなか厳しい

Windows10 x64 21H1上で、blender 2.79b x64 + POV-Ray 3.7 を触っているけれど、なかなか厳しい。

POV-Rayのプリミティブを追加して、Material設定を変更できないものかとアレコレ試しているけれど、どこを弄っても反映されない…。blender標準のオブジェクトなら、透明度だの、ミラーだの、色々反映されるのだけどなあ…。

どこかにその手の説明文書がないものかとググっているけど、POV-Rayプリミティブに対しては、blender上から材質設定ができると明記されてないページばかりで。

もしかすると、「POV-Rayプリミティブを追加できるだけでもありがたいと思え」「材質設定? 知らんがな。材質設定までしたいなら blenderの標準オブジェクトを使え」ということなのかなと…。

そもそも、blender を使っているなら、EEVEE や Cycles を使えばレンダリングできちゃうもんな…。blenderのレンダラーが今一つだった時代に、POV-Ray使ってレイトレーシングできたらいいよね、POV-Rayのほうが強力だよね、という流れで作られたアドオンなのかなと思えてきたりもして。

しかも、例えば blender 2.93.x で POV-Rayアドオンを有効にすると、「メンテナー募集中」っぽいメッセージも出てくるし…。blenderの標準機能のほうがリッチになって、あまり使われなくなったアドオンなのかなと…。

この記事へのツッコミ

Re: blender + POV-Rayを試しているけれどなかなか厳しい by youdai    2022/01/17 15:03
blender上からpov-rayを使う場合、現状はblender2.83LTSの方が安定していて良いのではないかと思います。
blender2.93LTSは元々が不具合の多いバージョンですから、安定したのを確認してから使った方がいいかもしれません。

自分もプリミティブのオブジェクトにマテリアルを当てはめる方法が分かりません。
もし何か研究に進展があれば、記事にして報告して頂けると助かります。

以上、1 日分です。

過去ログ表示

Prev - 2021/08 - Next
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

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project