モジュロ演算子でフォーマット変換 for python
備忘録をかねて。 pythonはモジュロ演算子(%)を使って文字列へのフォーマット操作ができます。 型変換だけならstr()等でキャストでもいいのですが、桁揃えとかもやってくれるので極力こっちを使うようにしています。 でも、すぐ忘れます。 […]
点Aと点Bをm:nに内分する点Pを表す位置ベクトルは、適当な基準点をOとして次の式で求められる。順に考えていく。これは納得できる。比は左右を同じ数で割っても、その比自体は変わらないのでと変形して使ってもOK。これは、ABの長さを1としたとき、APの長さが(m+n)/nとなる事を意味する。ベクトルAPとベクトルABは方向が等しいので定数倍であらわすことができる。この定数が、上記の比である。となる。このことから。この式をどんどん変形してゆく。長さの比が分か[...]
続きを読む
数学回です。今回から、数回に分けて「内積」について書こうと思います。が、その前に!= 注意 =この記事には三角関数やら数式やらが頻出します。 「三角関数は医者に止められてる」、というような方は読むのをお控えください。また、一連の記事は、「内積がなんとなく分かった気になれて、3DCGで応用できそう」くらいを想定しています。 数学として内積について深く掘り下げたものではありません。玄人はサポート対象外です。また、間違い等を見つけましたら、こっそりお知らせください。 おおっぴらに間違いを指摘されると、恥ずかしさで管理人が泣きます。[...]
続きを読むToxikノード解説回です。今回はTrackerノード。その名の通り、トラッキングの際に使用するノードです。Toxikでのトラッキングの方法については以前ざっくりやったので、今回はノードのパラメータのみ、確認していくことにします。?Aの領域にから。Tracker Analyzerってのがトラッキングポイント。"Add"ボタンで追加できる。Tracker Analyzerの左にある□はアクティブボタン。1Pointトラッキングの場合は1コ。2Pointトラッキングの場合は2コ。4Pointトラッキングの場合は4コ。Bの領域はそのパラメータ。Di[...]
続きを読む
Let's start where we left off last time●Anisotropy・AnisotropySets the ratio between the width and height of the highlights to create anistropic reflections.At a value of 1, It is necessary to lower the value of Glossiness of Reflection.(I can't understand it)・RotationAnisotoropy [...]
続きを読む
Houdini Tips回。煙作成時「Gas Resize Fluid Dynamic(DOP)」を使用した際、シミュレーション開始時に計算領域と発生源が重なっていないと上手くシミュレーション出来ない場合があります。今回はその回避法です。何を解決したいのか次のようなシミュレーションがあるとします。(gifアニメの枚数節約のため、ここではFPSを10で作ってます)シェルフで作った普通の煙ですが、発生源は原点より上の方(離れた場所)にあります。この発生源を、最初消しておいて何フレームか経ってから出現させるとこうなります。煙が一切発生し[...]
続きを読む
Houdiniノード勉強回。Edge Cusp(SOP)について。マニュアル曰く、"Sharpens edges by uniquing their points and recomputing point normals."訳すと、このノードは「ポイントをユニークなものにすることでエッジをシャープにし、ポイントの法線を再計算する」。たとえば、デフォルトのポリゴンの球に繋ぐとこうなる。エッジをシャープにする機能だけだと、あまり使いドコロが無さそうなのだが、Edge Cusp(SOP)にはもうひとつ、エッジを分離する機能がある。こんな感じ。上の[...]
続きを読む
Houdini勉強回。最近知った関数。makebasis()以下、マニュアルのURLhttps://www.sidefx.com/docs/houdini/vex/functions/makebasis.htmlマニュアル曰く、"指定したzaxisベクトルから正規直交基底を作成して、xaxisとyaxisの基底ベクトルを構成"、するらしい。なんのこっちゃ。その機能を意訳すると、あるベクトルに直行するベクトルを2つ作ってくれる関数。例えば、{1,0,0}に対してmakebasis関数を使うと、{0,1,0}, {0,0,1}の2つのベクトル[...]
続きを読む
Houdini回です。今回は備忘録も兼ねてProjection Mappingの方法です。使うのはuvtextureノード。オブジェクトにuvtextureノードをくっつけて、Texture Typeを"Perspective From Camera"に変更。Cameraの項目を投影したいカメラに設定。これで割り当てられたマテリアルがProjection Mappingされます。以上、間違い等ありましたらご指摘を。なお、ここで使用しているHoduiniのバージョンは13です。最新バージョンでは異なる可能性がありますのであしからず。[...]
続きを読む
Houdini勉強中につき私的メモからの抜粋システム単位とグリッドについてのメモ。システム単位についてマニュアル曰く、「Houdiniダイナミックスはキログラム、メートル、秒の単位を使う」とのこと。システム単位を確認&変更する場合は、Unit Lenght(m)=1Unit Mass(kg) =1Houdini先生が、"長さ1"って言ったらそれは1メートルのことで、"重さ1"って言ったら1kgのこと。例えばデフォルトでSphereを作成すると、radius=1の球ができる、これは半径1mの球。boxを作成すると、siz[...]
続きを読む
Houdini回ですぜ、旦那!今回はrippleです。こういうヤツ。波紋っぽいのを作るます、はい。ネットワークはこんな感じ。パーティクルと連携させていっぱい波紋を作ってみた。また、Ripple objectノードの”Use Deforming Rest”を有効にして、上ネットワーク例のメタボールを動かすと、こうなる。以上、文字少なめ、絵多めでおおくりしました。間違い等ありましたら、ご指摘を。では、また次回。使用バージョン:Houdini13[...]
続きを読む備忘録をかねて。 pythonはモジュロ演算子(%)を使って文字列へのフォーマット操作ができます。 型変換だけならstr()等でキャストでもいいのですが、桁揃えとかもやってくれるので極力こっちを使うようにしています。 でも、すぐ忘れます。 […]
今回は『mip_matteshadow』について調べていこうと思います。 このノード、仕事であまり使ったことないんですよね。 そのためか、ちらほら分からない所があります。 さて『mip_matteshadow』ノードですが、マニュアル的には […]
再びオクルージョンネタと言うことで、今度は『mib_fg_occlusion』ノードについて調べてみました。 以前に書いた、『mib_amb_occlusion』同様、オクルージョン系のノードです。 Mentalrayはオクルージョンひとつ […]
今回は備忘録二本立てです。 一つめはmip_shaderを有効にするMelコマンド mentalrayCustomNodeClass.melを変更するのは面倒なので、こちら↑を使うことが多いです。 いろんなサイトで紹介されていますが、自分い […]
今回は「Z用マテリアルがどうしても必要。でも作るの面倒だ。」そんなときに役立つ方法です。 古いバージョンのMayaでは、レンダレイヤーから右クリックでオクルージョンとかZデプスとか、プリセットで選べたのだが、いつ頃からかそれがなくなってしま […]
今回はMayaでのmentalray proxyの方法について書いてみました。 自分これ何回やっても忘れてしまって・・・歳のせい? ①:プロキシ化したいオブジェクトを選んで、[File]→[Export Selction…] ② […]



