問題タブ [renderman]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
graphics - RenderMan インシデント ベクトルの不一致
一連のライト シェーダとサーフェス シェーダを 3Delight から PRMan に変換する作業を行っていますが、解決できない 2 つの違いを発見しました。サーフェス シェーダがライト シェーダのトレースによる透過不透明度について評価されている場合、I
PRMan の入射ベクトルがサーフェスの法線に設定されているようです。
サンプル シーンでは、円盤の上に半球が浮かんでいます。上から遠く離れたライトが、トレースされた透過値をその背後のサーフェスに投影しています (ライトの場合は少し後方ですが、これはデモです)。半球の表面は、カメラで見ると法線で色付けされたソリッドとしてレンダリングされますが、送信を照会すると入射方向の不透明度になります。
これは私が期待するものであり、3Delight から受け取ったものです:
床はほぼ純粋な緑色であることに注意してください。入射角が垂直の場合に予想される色。ただし、PRMan でまったく同じシーンをレンダリングすると、次のようになります。
法線を投影しているように見えます。
newを介して値をフェッチしrayinfo
て計算しようとしましたが、それらの値はすべて実際に設定されてI
いるものと一致します。I
との不一致にも気付きE
ましたが、PRMan で設定されているものを突き止めることができませんでした。
Q: 期待しているインシデント ベクトル I を取得するにはどうすればよいですか?
の内容scene.rib
:
の内容projector.sl
:
の内容inspect_incident.sl
:
renderman - RenderManの「rgba」表示モードでは、4チャンネルではなく3チャンネルの画像が生成されますか?
次のdisplayおよびquantizeステートメントを含む.ribファイルがあります。
そして私は4チャンネル(チャンネルあたり16ビット)の画像を取得することを期待しています。
ただし、3チャンネルしかない画像が表示されます。
出力でアルファチャネルを取得するにはどうすればよいですか?
私はprmanを使用しています。
curve - RenderManに記載されているRiBasisとはどういう意味ですか?
私は3ds Maxのプラグインに取り組んでいます。このプラグインでは、RenderMan レンダラーでレンダリングできる .rib ファイルにジオメトリ情報をエクスポートします。nubrs カーブのデータを RiBasis と RiCurve で記述された .rib ファイルにエクスポートすると。RiBasis で RtBsplineBasis を使用していますが、レンダリングされた曲線が 3ds Max のレンダラーの結果よりも短いという間違った結果が得られます。次に、最初と最後のコントロール頂点を再印刷します。曲線は十分に長いですが、形状が少し異なります。間違った結果が得られる方法や、RiBasis の意味を教えてください。正しい RiBasis を取得するにはどうすればよいですか? ありがとうございます!
imagemagick - Imagemagick 変換は、RGBA 以外のチャンネル名を持つ OpenEXR ファイルで機能します
Pixar の RenderMan によって生成された OpenEXR ファイルはCi.r, Ci.g, Ci.b, a
、R, G, B, A
. そして、Imagemagick の変換はこれを処理していないようですか?
次のチャンネルを持つEXRファイルがあるとします。
Imagemagick の変換で JPEG に変換するのが好きです。
私が得るのは空のJPEGです。Imagemagick にさまざまなチャンネル名を認識させる方法を知っている人はいますか?
tcl - TCL チェック環境変数
そのため、私はこれに対する答えを少し見つけようとしてきましたが、インターネット上で答えを見つけることができませんでした. 環境変数が存在するかどうかを確認する必要があります。私は正しいコードを持っていると思っていましたが、false を返し続けます。
何か案は?
graphics - Renderman でエンティティをレンダリングする
これは、Maya (またはそのような GUI) インターフェイスのない Renderman Pro Server 19 に関するものです。
Renderman のドキュメントは、エンティティを定義する方法を明確に説明しています: https://renderman.pixar.com/forum/docs/RPS_19/ribBinding.php#rib-entity-file-example、しかし、エンティティを私たちのメインコード。
リンクは将来的に無効になる可能性があるため、ドキュメントの一部をここに引用します。
RIB エンティティ ファイルには、単一のユーザー エンティティが含まれます。RIB エンティティ ファイルには、フレームをレンダラーに説明するのに十分な情報が含まれていないため、不完全です。RIB エンティティ ファイルは、Render Management サービスに依存して、「合法的な」または完全な RIB ファイルに統合されます。これらのファイルは、Render Manager が既存のシーンにオブジェクトを挿入できるようにすることで、3D の「クリップアート」のメカニズムを提供します。
RIB エンティティ ファイルは、ユーザー エンティティのセクションで説明されているユーザー エンティティの規則に準拠する必要があります。要約すると、ユーザー エンティティは属性ブロックで区切られ、名前属性を持ち、単一の属性ブロック内に完全に含まれている必要があります。3 つの追加要件も満たす必要があります。
ヘッダー ヒント: ##RenderMan RIB-Structure 1.1 Entity をファイルの最初の行として含める必要があります。
エンティティは、原点を中心とするオブジェクト座標系で構築する必要があります。
エンティティには、ユーザー エンティティ内のすべてのジオメトリ プリミティブの単一の境界ボックスを提供する RIB バインド リクエストが必要です。
エンティティの例として次のコードが添付されています。
現在、メインの RIB ファイルに同じコードを何度も含めるのは非常に面倒なので (抽象化が必要です)、エンティティを使用するのが良い方法のようです。
では、これらのエンティティをメイン ファイルに含めるにはどうすればよいでしょうか。
python - Python 文字列の間違った文字
まず、最小限の例を作成しようとしましたが、結果を再現できませんでした。ここにすべてのコードをダンプするのを習慣にしないようにしていますが、問題を説明する別の方法がわかりません。アプリケーションから特定の形式にデータを出力するクラスを作成していますが、コードで間違った結果が得られます。
出力しようとしている形式は次のようになります。
Nodestyle "nodeType" "name"
「属性型属性名」[値]
アトリビュートが別のノードにリンクされている場合
「参照属性種別属性名」[「ノード名:出力属性名」]
例:
私が得ている結果は次のようになります。
別のノードへの参照があるところまで、文字列内の特殊文字と余分なアイテムを出力すると、そのようになります。別の属性にリンクすると、ベースカラーと言うと、ベースカラーまで間違った結果しか得られません。接続がまったくない場合、問題はありません。文字列がこのような動作をするのはなぜですか? これが問題のクラスです。このクラスは、ステップ スルーするノード オブジェクトの配列を受け取ります。