今回はプログラム系、特にユーザーインターフェース周りのお話です。 ここでは、Python & QtDesigner & Pysideを使った作例をば。最近の3DCG系ソフトはだいたいPythonをサポートしているので、多少の違いはあれど、どのソフトでも応用がきくのではなかろうかと思いまして書きました。ただしあくまでCG屋が書くプログラムなので、そこのところあしからず。いくつかある作例の中の一つとして捉えていただければ。流れは下のようになります。①:Qt DesignerでUI作成↓②:PySideに変換↓③:コードを好きにいじる[...]
read more
Houdini回。Houdiniにはopから始まるエクスプレッションがたくさんあります。個人的に紛らわしいと思ってるのはopinput~とか、それに類するやつらです。opinputとかopinputpathとか。さらにはop:`opinputpath(".",0)`とか合わせ技っぽいのまで。似たような名前と機能で、モヤモヤしてたのでスッキリさせようと思って取り上げました。opinputpath指定したノードの入力に接続されたノードのフルパスを取得できる。opinputpath("参照ノードのパス", &[...]
read more
ネタに困った時の小技回(Houdini)PscaleをView上で確認するPointの大きさのアトリビュート、pscaleをView上で確認する方法です。display Options -> Display particlesをDiscsに変更!これでOK。Create in Contextシーンビューの右上にあるTool Optionsで"Create at Object Level"->"Create in Context"に変更すると、シェルフのCreateタブから作るジオメトリが、現在のコンテクストに作成されます。[...]
read more
Pythonには”リスト内包表記”なるものがあるそうな。初めて目にした時は、「なんじゃこのケッタイな書き方は!」と思ったものです。リスト内包表記をザックリ説明すると、『for分とかif分とか使って複数行必要だった処理が一行ですむよ。しかも処理が早いよ。でもちょっと読みづらいよ』っていう書き方でしょうか。ものの本によると、”リスト内包表記とは、あるリストを元にして別のリストを作るための記法のことです”、だそうです。ちょっとMayaのpyemlで普通の書き方と、それを内包表記で書いた例を作ってみました。選択したオブジェクトのうち、Meshのみをリストで返[...]
read more
『mi_car_paint_phen_x_passes』の続きから。 Flake ParametersFlakeは顔料の層にある金属片のこと。Flake ColorFlakeの色。デフォルトは白。(下のサンプルは"Weight"=5)。黒の場合はWeight=0と同義かな。Flake WeightFlakeの強さ。デフォルトは1.0。Flake ReflectFlakeの反射。デフォルトは0。通常0.1くらいで十分らしい。あまり高い値は使わないらしい。Flake Expフレークのスペキュラ指数。[...]
read more
その1へ その2へ その3へ その4へ その5へ 補足へみあまてりある。3回目ッス。Anisotropyのパラメータから。始める前は、もっとサクサク進むと思ってたのに、なかなか進みませんなぁ( ̄。 ̄)Mayaは2012の英語版を使用しています。最新のバージョンとは異なる可能性がありますのであしからず。 Anisotropy(異方性)Anisotropy(異方性)1だと等方性。それ以外の値で異方性。ReflectionのGlossinessの影響を受ける。1以上の値にする場合は、ReflectionのGlossinessの値を下げる必[...]
read more
今回は3dsMax回。3dsMaxのスキャンラインでAO素材を出力する方法。教えていただいたので備忘録もかねてです。サンプルシーンとして次のようなシーンを作成しました。①:マテリアルは標準マテリアルを使用。周囲光/拡散反射光を白に設定する。②:スカイライトを一つ作成。③:レンダラを”規定値のスキャンライン”に設定レンダリング設定のアドバンスドライティングをライトトレーサーに変更。④:レンダリングすると↓Vray使える時はVrayのElementsでAO素材を出力すればよいのですが、必ずしも常にVrayが使えるとは限らないので、こう[...]
read more
はい、Houdini回。今回は地味に大事なPyroのContainerを回転させる方法です!ここで言う、Containerとは下図の四角い枠のことです。以下、手順です。(初めにShelfから標準的なPyroの煙を作成してあるとします)①:Positionノードを作成するPositionノードを作成し、Smoke Objectノード(Pyroと表記されたのード)の下に入れときます。このPositionノードは、オブジェクト(ここではSmoke Objectノード)が使用できる位置情報を作成することができます。[...]
read more
FumeFXのリファレンスメモ、3回目です。今回はSimタブのSimulationロールアウトの項目です。Fumeの肝となる項目が沢山ありますね。バージョンは3.5です。=以下補足=※1:Quality精度値を上げると計算の反復回数が増えるのかな。値を上げると精度が上がり、シミュレーション時間が増える。ただし反復回数はMaximun Simulation Stepsで設定した値が上限。Qualityがどんなに高くても、Maximun Simulation Stepsで設定した以上の計算は行われない。動きの早いものの場合、上げるとよいらしい[...]
read more