SuiTechLog

Unity,Arduino,RaspberryPiなど、モノづくり系を気ままに書き残すブログ。

2017-01-01から1年間の記事一覧

Unityのシェーダーを3dsMaxのビューポートシェーダーへ移植する その4 設定編

前回の続きです。 前回書き損ねていた点を追記します。 Normal画像読み込み設定 Normal画像を読み込むときは以下のGamma1の設定にオーバーライドします。 こうしないとNormal画像にガンマがかかって正しい凹凸がでません。

シェーダー書きはじめTIPs(おもにUnity)

最近は誰でもシェーダーが書ける時代になりました。処理を軽くするためのルールがあるようなのでそのいくつかをメモしておきます。(今後も増える予定です。)ピクセルシェーダー(フラグメントシェーダー)は1ピクセル毎に処理されるため、ちょっとの不手際…

Unityのシェーダーを3dsMaxのビューポートシェーダーへ移植する その3 頂点シェーダー・フラグメントシェーダー

前回の続きです。 今回は頂点シェーダー部分とフラグメントシェーダー(ピクセルシェーダー)部分を3dsMaxへ移植するメモです。 頂点シェーダーでの処理の比較 頂点座標(プロジェクション空間) Unity UnityObjectToClipPos(v.vertex) mul(UNITY_MATRIX_MVP…

Houdini メモ Alembicで書き出し Mirror Curveでパーティクル制御 その他

Alembicで書き出し(Apprenticeでは不可) 「ROP Alembic Output」ノードを使用します。 Vallid Frame Range で、書き出す範囲を指定して、Alembic Name でパスを指定、Render To DiskでAlembicファイルを書き出すことができます。 なお、ファイルフォーマッ…

Unityのシェーダーを3dsMaxのビューポートシェーダーへ移植する その2 プロパティ・ライト情報・入力データセマンティクス

さて。前回得た情報を元にUnityのシェーダーを3dsMaxへ移植していきます。 それぞれ移植するための対応表をメモしておきます。 GUIへのプロパティの移植 プロパティをGUIに表示する対応表は以下の通りです。 Unity //Texture2D _BaseMap ("BaseMap", 2D) = "…

Unityのシェーダーを3dsMaxのビューポートシェーダーへ移植する その1

ということをしましたので、備忘録。 Unityのシェーダーは"UnityCG.cginc"などによって難しい処理をカバーしていて、かなりラクできるようになっています。3dsMaxで書く場合はそう言った部分を自分でやらないといけないのと、3dsMax独自のセマンティクス等も…

Pythonスクリプト書くときの小技メモ

新旧問わず小技メモをまとめました。 リストの内容をズラす小技 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)…

Houdini Wrangleのメモ

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);

Houdini Tips WrangleでUVいじったりとかしたときのメモ

Wrangleでuvをいじる Vertexに対してWrangleで@uv(vector2型)に直接値をいれると、その頂点のuvを直接いじることができます。 プレーンな状態であれば「uvlayout」SOP等を前にはさんでおかないと、ビューポートには反映されるもののレンダリングに反映され…

Houdini Tips ポリゴン数へらしたモデルつくりたい

ポリゴンを均一にならして、ざっくり減らしたモデルを作りたい(当たり判定とか、表面を覆うバリアのようなモデルをつくるとか色々応用がきくであろう)TIps そのままRemeshノード作戦 もとの形状を維持して、エッジの長さを基準になるべく均一にリメッシュ…

Houdini Tips

ポリゴンをバラバラにする Facet ノードをつないで Unique Pointのチェックをつけるとポリゴン面毎にバラバラにすることができます。 バラバラなポリゴンをくっつける

Houdini Tips DOPへん メモリ使用率が大変なことになる

DOPでシミュレーションをかけたらメモリ使用率が100%になってPCが止まる DOPのシミュレーションキャッシュをどんどんメモリにためこんで、一定のフレーム以上先にすすまなくなってしまう現象が発生しました。

Motion Builder Python

Motion BuilderのPythonでアニメーションキーいじってみましたがえらいめんどくさかったので忘れないようにメモ すでに打ってあるキーを取得する キーデータはパラメータ毎にこういう入れ子構造になっているようです。 あるオブジェクト └AnimationNode(ルー…

Mayaの便利小ネタ2 ~ショートカット編~

背景色を切り替える alt + bで、ビューの背景色を「グラデーション、単色」などコロコロと切り替えることができます。他人に見てもらうときとか、みづらいパーティクルの作業時などに便利です ビューの最大化

Houdini Tips

ハニカム化 RemeshSop等をかけてすべて三角ポリにしてから、DivideSOPで三角ポリをハニカム化できます。 DivideSopのComputeDualのチェックはONにしてください。 TIMESHIFTノードで計算軽量化

Mayaの便利小ネタ

複数のオブジェクトにまたがって、頂点を選択したい Mayaで右クリックー>頂点モードに切り替えた場合、通常のままだと1つのオブジェクトの中の頂点しか選択できません。しかし、F8キーをおしてコンポーネントモードに切り替えることでShift+クリックで複数…

Maya nParticle emit from objectで、emit元のオブジェクトを別のオブジェクトに切り替えたい

nParticleの、emit from objectのお話。 仕様変更等で、emitterの設定や使うパーティクル(nucleus等)はそのままで、発生するオブジェクトのみを変更したいということがありましたが、Mayaデフォルトの機能では変更する術がなさそうでした。(パーティクルとe…

Houdini CGwiki サンプルを翻訳と解説。その2:Attribute transfer とcolour

勉強もかねてこちらを一個ずつ翻訳 Houdiniのシーンファイルはこちら File:attribute_transfer_color_and_position.hip これまでと同じようにして、転送アトリビュートのリストにCdと入力しただけです。もし、複数のアトリビュートを転送したければ、半角ス…

Houdini CGwiki サンプルを翻訳と解説。その1:Attribute transfer とposition

自分の勉強用にhoudini wikiを翻訳します。ただ、wikiなので、日々更新される可能性がありますので、そこまで保障はできません。単なるメモ程度のものです。 Attribute transfer と position sphereの座標値をgridのそれぞれのポイントの座標値へスムーズな…

MaterialXについて

MaterialXっていうのでていたのでしらべてみました。 cgtracking.net Githubはこちら。 Githubページを翻訳してみます。 github.com

Unity スクリプトから複数のシェーダーの値を一気に変更する

概要 シェーダーに記述したフォグの数値を、複数のオブジェクトで変更しようと、スクリプトにシーン内のマテリアルの数だけ繰り返すスクリプトを書いたのですが どうやらそれよりもっとイージーな方法があったようです。 Shader.SetGlobalFloat("パラメータ…

Z77H2-A3 マザーボードでGeforce GTX 1050ti が動かない事件

事件概要 今まで、Z77H2-A3 マザーボードにGTX670を刺しており、そろそろ流石に新時代のグラボにかえようとGTX1050tiを買ってきたときのことです。 いざ取替えさしてみたところ、ピッ・・・・ピッ・・・と10秒前後の間隔をあけてBeep音が鳴るだけで、BIOS…

Unity 身体を交換するゲーム 英語版リリース English Version Chicken mini Game Released !!!!!!

英語版をリリースしました。English Version Chicken mini Game Released Unity3Dで制作しています。 内容は日本語版と変わりありません。 翻訳をしていただいたTodor Nicolovさんに感謝します。

Maya Python メモ

よく使うMaya Python関数のメモ cmds.ls() #カッコ内の条件でシーン内の○○の名前一覧を取得 例: list = cmds.ls(sl=True) #選択中のものの名前一覧がlistに入る cmds.ls(" *:root ",type="joint") #シーン内にある:rootという文字が入るジョイントを取得す…

Houdini SOPノードについてメモ

Peak SOPノード 頂点を法線方向に移動(スケール)する Attribute Promote SOP AttributeをVertexからPointに転送 例:Cd(カラー)をPointからVertexに。 むろんVertexからPrimitiveや PointからPrimitiveなども可能。 Clean SOP 隠れたPrimitiveや同じ位置に…

13B-REWエンジン ターボ制御をCGでつくる ブースト計の追加

追加要望 というわけで、はい。ブースト計を追加しました。 不慣れなPhotoshopでブースト計をつくって。 メーターの動きは中村さんに口頭(ジェスチャー)も交えて伝えてもらった感覚で 作ってみました。 ・・・というわけで、こんな感じです。 WEBアプリケーシ…

Unity Editor拡張 複数のオブジェクトからメッシュレンダラーをもったやつだけ選択したい!

事の経緯。 空のゲームオブジェクトなども含まれた複雑な親子構造のFBXを読み込んで meshrendererコンポーネントのもつプロパティ(cast Shadowsの設定など)をまとめて編集(multi-edit)したい。というお話。 で、普通にHierarchyからShiftおしながらまとめ…

13B-REWエンジン ターボ制御をCGでつくる 本物とくらべてみる

ターボチャージャーが手に入った! なんと、都合よくジャンクのFD3Sのシーケンシャルツインターボチャージャー本体が手に入ったので作ったCGと本物とを比べてみることにしました。 WEBアプリケーションはこちら 今回手に入ったのは上の図で青く塗られた部…

13B-REWエンジン ターボ制御をCGでつくる 制作のながれ

経緯 RX-7専門のECU改良会社、中村屋の中村さんからの依頼でRX-7 FD3Sの「ターボ装置」のCGアニメーションモデルを制作しました。 整備士の育成に使う目的とのことで、博物館や科学館などにある動く図を意識しつつ、正確さを意識しました。 今回は、GIFで…

13B-REWエンジン ターボ制御をCGでつくる 完成

FD3S RX-7に搭載されているターボ制御図をCGで作るチャレンジですが 中村屋の中村さん監修の元、なんとか完成にこぎつけました。 ご協力いただいた方々、ありがとうございます。