2017-01-01から1年間の記事一覧
前回の続きです。 前回書き損ねていた点を追記します。 Normal画像読み込み設定 Normal画像を読み込むときは以下のGamma1の設定にオーバーライドします。 こうしないとNormal画像にガンマがかかって正しい凹凸がでません。
最近は誰でもシェーダーが書ける時代になりました。処理を軽くするためのルールがあるようなのでそのいくつかをメモしておきます。(今後も増える予定です。)ピクセルシェーダー(フラグメントシェーダー)は1ピクセル毎に処理されるため、ちょっとの不手際…
前回の続きです。 今回は頂点シェーダー部分とフラグメントシェーダー(ピクセルシェーダー)部分を3dsMaxへ移植するメモです。 頂点シェーダーでの処理の比較 頂点座標(プロジェクション空間) Unity UnityObjectToClipPos(v.vertex) mul(UNITY_MATRIX_MVP…
Alembicで書き出し(Apprenticeでは不可) 「ROP Alembic Output」ノードを使用します。 Vallid Frame Range で、書き出す範囲を指定して、Alembic Name でパスを指定、Render To DiskでAlembicファイルを書き出すことができます。 なお、ファイルフォーマッ…
さて。前回得た情報を元にUnityのシェーダーを3dsMaxへ移植していきます。 それぞれ移植するための対応表をメモしておきます。 GUIへのプロパティの移植 プロパティをGUIに表示する対応表は以下の通りです。 Unity //Texture2D _BaseMap ("BaseMap", 2D) = "…
ということをしましたので、備忘録。 Unityのシェーダーは"UnityCG.cginc"などによって難しい処理をカバーしていて、かなりラクできるようになっています。3dsMaxで書く場合はそう言った部分を自分でやらないといけないのと、3dsMax独自のセマンティクス等も…
新旧問わず小技メモをまとめました。 リストの内容をズラす小技 Pythonじゃなくても使えます 何個ずらすかをs 元のリストをog ずらした後のリストをshとすると og = [1,2,3,4] sh = [] s = 1 print(og) for i in range(len(og)): sh.append(og[(i-s)%len(og)…
Wrangleで変数配列 int v = array(1,2,3,4,5);//int型 vector2 v2 = array({1,5},{5,6},{5,4},{-1,0},{-0.5,-8},{5,6});//vector2型 配列の大きさを取得 int ln= len(v2);
Wrangleでuvをいじる Vertexに対してWrangleで@uv(vector2型)に直接値をいれると、その頂点のuvを直接いじることができます。 プレーンな状態であれば「uvlayout」SOP等を前にはさんでおかないと、ビューポートには反映されるもののレンダリングに反映され…
ポリゴンを均一にならして、ざっくり減らしたモデルを作りたい(当たり判定とか、表面を覆うバリアのようなモデルをつくるとか色々応用がきくであろう)TIps そのままRemeshノード作戦 もとの形状を維持して、エッジの長さを基準になるべく均一にリメッシュ…
ポリゴンをバラバラにする Facet ノードをつないで Unique Pointのチェックをつけるとポリゴン面毎にバラバラにすることができます。 バラバラなポリゴンをくっつける
DOPでシミュレーションをかけたらメモリ使用率が100%になってPCが止まる DOPのシミュレーションキャッシュをどんどんメモリにためこんで、一定のフレーム以上先にすすまなくなってしまう現象が発生しました。
Motion BuilderのPythonでアニメーションキーいじってみましたがえらいめんどくさかったので忘れないようにメモ すでに打ってあるキーを取得する キーデータはパラメータ毎にこういう入れ子構造になっているようです。 あるオブジェクト └AnimationNode(ルー…
背景色を切り替える alt + bで、ビューの背景色を「グラデーション、単色」などコロコロと切り替えることができます。他人に見てもらうときとか、みづらいパーティクルの作業時などに便利です ビューの最大化
ハニカム化 RemeshSop等をかけてすべて三角ポリにしてから、DivideSOPで三角ポリをハニカム化できます。 DivideSopのComputeDualのチェックはONにしてください。 TIMESHIFTノードで計算軽量化
複数のオブジェクトにまたがって、頂点を選択したい Mayaで右クリックー>頂点モードに切り替えた場合、通常のままだと1つのオブジェクトの中の頂点しか選択できません。しかし、F8キーをおしてコンポーネントモードに切り替えることでShift+クリックで複数…
nParticleの、emit from objectのお話。 仕様変更等で、emitterの設定や使うパーティクル(nucleus等)はそのままで、発生するオブジェクトのみを変更したいということがありましたが、Mayaデフォルトの機能では変更する術がなさそうでした。(パーティクルとe…
勉強もかねてこちらを一個ずつ翻訳 Houdiniのシーンファイルはこちら File:attribute_transfer_color_and_position.hip これまでと同じようにして、転送アトリビュートのリストにCdと入力しただけです。もし、複数のアトリビュートを転送したければ、半角ス…
自分の勉強用にhoudini wikiを翻訳します。ただ、wikiなので、日々更新される可能性がありますので、そこまで保障はできません。単なるメモ程度のものです。 Attribute transfer と position sphereの座標値をgridのそれぞれのポイントの座標値へスムーズな…
MaterialXっていうのでていたのでしらべてみました。 cgtracking.net Githubはこちら。 Githubページを翻訳してみます。 github.com
概要 シェーダーに記述したフォグの数値を、複数のオブジェクトで変更しようと、スクリプトにシーン内のマテリアルの数だけ繰り返すスクリプトを書いたのですが どうやらそれよりもっとイージーな方法があったようです。 Shader.SetGlobalFloat("パラメータ…
事件概要 今まで、Z77H2-A3 マザーボードにGTX670を刺しており、そろそろ流石に新時代のグラボにかえようとGTX1050tiを買ってきたときのことです。 いざ取替えさしてみたところ、ピッ・・・・ピッ・・・と10秒前後の間隔をあけてBeep音が鳴るだけで、BIOS…
英語版をリリースしました。English Version Chicken mini Game Released Unity3Dで制作しています。 内容は日本語版と変わりありません。 翻訳をしていただいたTodor Nicolovさんに感謝します。
よく使うMaya Python関数のメモ cmds.ls() #カッコ内の条件でシーン内の○○の名前一覧を取得 例: list = cmds.ls(sl=True) #選択中のものの名前一覧がlistに入る cmds.ls(" *:root ",type="joint") #シーン内にある:rootという文字が入るジョイントを取得す…
Peak SOPノード 頂点を法線方向に移動(スケール)する Attribute Promote SOP AttributeをVertexからPointに転送 例:Cd(カラー)をPointからVertexに。 むろんVertexからPrimitiveや PointからPrimitiveなども可能。 Clean SOP 隠れたPrimitiveや同じ位置に…
追加要望 というわけで、はい。ブースト計を追加しました。 不慣れなPhotoshopでブースト計をつくって。 メーターの動きは中村さんに口頭(ジェスチャー)も交えて伝えてもらった感覚で 作ってみました。 ・・・というわけで、こんな感じです。 WEBアプリケーシ…
事の経緯。 空のゲームオブジェクトなども含まれた複雑な親子構造のFBXを読み込んで meshrendererコンポーネントのもつプロパティ(cast Shadowsの設定など)をまとめて編集(multi-edit)したい。というお話。 で、普通にHierarchyからShiftおしながらまとめ…
ターボチャージャーが手に入った! なんと、都合よくジャンクのFD3Sのシーケンシャルツインターボチャージャー本体が手に入ったので作ったCGと本物とを比べてみることにしました。 WEBアプリケーションはこちら 今回手に入ったのは上の図で青く塗られた部…
経緯 RX-7専門のECU改良会社、中村屋の中村さんからの依頼でRX-7 FD3Sの「ターボ装置」のCGアニメーションモデルを制作しました。 整備士の育成に使う目的とのことで、博物館や科学館などにある動く図を意識しつつ、正確さを意識しました。 今回は、GIFで…
FD3S RX-7に搭載されているターボ制御図をCGで作るチャレンジですが 中村屋の中村さん監修の元、なんとか完成にこぎつけました。 ご協力いただいた方々、ありがとうございます。