STEPファイルもGPUレンダリングできる無料のレンダリングソフト CADRAYS を紹介 古いソフトだけど便利です

2024年6月18日

最近FreeCADで作ったものの曲面チェック等、レンダリングする際に使用しているCADRAYS。が、Fusionを使ってらっしゃる方もGPUで高速なレンダリングが出来るこのソフトは時に力になるかも?と思ったので古いソフトウエアですが紹介させていただきます。とっつきにくいところもありますが便利ですよ!

CADRAYSとは

CADRAYSはOpen CASCADE という3Dモデリングのカーネルを開発している会社がレンダリングソフトウエアとして無償で公開しているソフトです。FreeCADのモデリングのベースとしてもこのOpen CASCADE Technology (OCCT) が使用されており、FreeCADユーザーには実は馴染み深い存在とのことでした。もちろん私はそんなことは知らず、たまたまこのソフトに行き着いただけです(笑)。日本語ウィキべディアにはこうありました。

Open CASCADE テクノロジー(オープンカスケード、OCCT)は、Open CASCADE SASによって開発とサポートが行なわれているオープンソースソフトウェアで、三次元CADCAM、その他のための開発プラットフォームである。OCCT自体はCADやCAMといったアプリケーションではなく、C++といったプログラミング言語から呼び出して用いるライブラリである。

https://ja.m.wikipedia.org/wiki/Open_Cascade_%E3%83%86%E3%82%AF%E3%83%8E%E3%83%AD%E3%82%B8%E3%83%BC

開発などはかなり古くから行われていたもので、ライブラリとしてはファイル数が多くて闇が深いとの情報も目にしました。FreeCADはこれが使われているとのことなので、色々大変なのかな・・・??ちなみにFreeCADのドキュメントにもこのOpenCASCADEに関する部分があります。これによれば全てのワークベンチを支える心臓部といっても良さそうな感じです。詳細はよかったらこちらをどうぞ。

今回紹介のCADRAYSは単体で動くソフトウエアとして提供されているのでこういったバックグラウンドはあまり気にせずインストールできます。ダウンロード先はこちらです。プログラム単体はフォルダ単体で動作するものであり別途インストールなどの操作は不要です。Windowsでしか動かないという点と、利用に際してMicrosoft Visual C++ 2015 x64 Redistributableが必要ですが、そう迷うことはないと思います。個人的なハードルは、ダウンロードのためにOpencascadeのアカウントを作成する必要があることでしょうか。とはいえそう一般人が他の場面で関わることはなさそうですしGoogleかGitHubのアカウントで作れますので良かったらぜひ。

前述の通り、ダウンロードして解凍すればその直下にEXEファイルがあり、これを実行するだけです。インストールも不要でレジストリを汚す心配もないのは嬉しいところですね。

GPU対応 パッとレンダリングするのに便利

このソフトウエア最大の特徴として、GPUによるハードウエアレンダリングに対応していることが挙げられます。わたしを含めFusionを使用されている方は多いと思うのですが、レンダリングってCPUなんですよね・・・。Fusionの中で完結出来ますしレンダリング画像はすごく綺麗なのですが、ちょっと見ようと思っても結構時間がかかる。

Blender等で読み込めばいいんですが、その際って基本的にobjかSTL等ポリゴンに変換することになってしまいます。STEPの状態のままレンダリングするソフトウエアってそんなに多くないですし、このソフトウエアはobjの読み込みにも対応していますので混合してレンダリングすることもできます。この機能、結構すごくないですか?色々なソフト使っている方をはじめ、Fusion使いの方でも、ちょっとレンダリングするには非常に面白いんじゃないかなと思います。

動作そのものも個人的には結構軽い部類ではないかと思います。ソフトウエアの基本が古いこともあってか、最新のGPUだとかなり高速に動作します。CPU内蔵のものでもそこそこ行けちゃう感じです。

画面構成と基本 日本語ファイルは読み込めないので注意

出来ることが限られているので操作はそう難しくありません。ソフトを起動したらSTEPやobjなどファイルを読み込んでいくだけ。とはいえ最初に注意があって、「日本語は読めません」。ファイル名が日本語だとファイルの読み込みに失敗します。まあ、このことの限らず、日本語は海外などとやり取りする際にも非常に障害になるのでこのソフトに限らず基本的にはアルファベットで名前はつけた方がいいです。無用なトラブルも避けられます。

なお、起動時はこんな感じになります。UIも基本的にはすごくシンプルです。左側が読み込んだファイルやレンダリング設定部分、中央メインがレンダリング結果。中央下部はコンソール部分、右側はマテリアルや光源設定です。サンプルとして載せているのはうちの子の最強の車をちょっと色だけ付けて表示したものです。詳細は後程。

最初にコンソール部分を確認しましょう。すでにGPUが認識されているはずです。レンダリング速度についてはこれで安心。あ、容量によってはファイル読み込みにちょっと時間を要することもあります。

チュートリアルのビデオ等を確認すると、地面部分はコンソールで作っている例が多い気がしました。コンソールのお作法は正直とっつきにくいとは思うのですが、床作るだけならまあ困ることはないと思います。こんな感じのコマンドです。

box floor 2000 2000 10
ttranslate floor -1000 -1000 -20
vdisplay floor

内容としては1行目が「プリミティブ作成コマンド シェイプ名 サイズxyz
2行目が「移動コマンド シェイプ名 移動量xyz
3行目が「表示コマンド シェイプ名」です。

大きく薄い直方体プリミティブboxを、名称floorで作成して、中央やや上が原点になるよう移動して、表示してください、という内容になります。スクリプトエディターを見るといくつかのプリセットがあり、これを見ると一応色々わかると思います。

プリミティブ作成コマンドにはboxのほか、psphere(球体)や、pcylinder(円柱)があります。この二つは先頭にpがつくのですがなぜかはちょっとわかりません。なお、helpと打つとコマンド一覧が出てきます。興味がある方は掘り下げてもいいと思いますが・・・。なお、一覧にはbox pcone pcylinder psphere ptorus wedge がありました。ただ、pconeは打っても作れないんですよね。何か違うんだと思います。床として使用するのは四角か丸が多いと思うのでboxとpcylinderが使えればまあ、良いんじゃないかと(笑)。

基本プリミティブをコマンドラインから作成したものです

読み込んだり作成したプリミティブは移動、回転、拡大縮小が行えます。対象をダブルクリックするたびに機能が入れ替わるのでやってみてください。右側タブのTransformから数字入力も行えます。

最大の欠点 STEPの中身の名前や色が読み込めない

さて、ファイルを読み込むと気づくことがあります。そう、全てが金ピカなのです!このソフトウエア最大の欠点なのですが、色付きのSTEPが読み込めないんです。全部金色で統一されます。また、複数のオブジェクトからできている一般的なものの場合、STEPの構成要素を分解してマテリアルを指定していきますが分解した段階で名前が保持されていません。選択する際にどれがどれか、わからない仕様になっています。複雑なモノの場合、かなり困りますよね・・・。

実際はレンダリング画面から直接指定出来るのである程度楽はできますが、せっかくFusionなどで設定した名称やマテリアルが丸ごと消えてしまうという点には注意が必要だと思います。

基本のマテリアルは多くないが、結構自由度は高い

マテリアルはいくつかプリセットがあるほか、BSDFとして色々設定ができます。カスタムではBase layerとCoat Layerを別々に設定できるなど結構自由度が高いです。プリセットのマテリアルから色々変更することももちろんできるので試してみてくださいね。

なお、マテリアルをリンクする場合はリンクしたいシェイプを同時に選択してリンクすることが出来ます。上のプリセットマテリアルの画像にある青部分です。これはすでにリンクされたマテリアルを選択している状態なので「Unlink material」と記載されています。これを押すと独立したマテリアルを割り当てられます。

テクスチャはおおざっぱですが読み込んでUV方向のタイル数を決める感じです。縮小する場合は0.1など1より小さい数を選ぶことで敷き詰めることができます。適当に床を作ってテクスチャを当て、Fusionで作成したヘリコプターをレンダリングしたものがこちらになります。

このほか、形状そのものを光源とするEmissionもあります。

光源と環境マップ

光源設定は主に平行光と点光源の2種類を使えます。環境マップも複数の指定が可能です。そう難しいことはないと思います。環境マップは一般的な画像ファイルのほか、HDRIもファイル選択時に「すべての形式」を選ぶことで指定できます。機能が限定されている分、迷うことが少ないのが良いところです。点光源は位置を数字でしか指定できないため、明るさと半径を調整しつつ任意の位置に持ってくる必要があります。

そうそう、光源が増えたりガラスがシーンに入っている場合などは左タブのセッティングのところも忘れないようにしてください。RenderingタブのBouncesは計算する反射の数を示しています。初期設定3だとガラスを表現出来ないので、必要に応じて増やしましょう。画面のものは10回になっています。

環境マップも含め光源設定をしていくとこんな感じになりました。今度はヘリを黄色っぽくしてみています。まあ、元が私が作成したデータなので写実的ではありませんが、レンダリング結果は上々だと思います。このSTEPのレンダリングがBlenderのようにGPUでさらっと行えるのはかなりうれしいのではないでしょうか?

空がバックのレンダリング画像 ヘリ内部に光源を一つ設置

楽しいのでぜひお試しあれ!

3Dプリンターで現実世界に召喚(印刷)することがメインでも、ソフトウエア上でレンダリングするのは違った楽しさがあると思います。GPUでのレンダリングができるとそのハードルがぐっと下がる気がしませんか?

無料で、解凍後のデータ量も80MB程度とどのPCにも気軽に入れておける、何ならクラウド上においておけるサイズのこのCADRAYs。日本語の情報もほとんどなく、せっかくなのにあまり利用されている方がいなそうなのでこのブログがお役に立てば幸いです。よかったらぜひ試してみてくださいね!上手な使い方、ぜひ教えてください。

今回も最後までお読みいただきありがとうございました!