忍者ブログ

カネモリ製作所

CGアニメーションに関することを書いていきます。

カスタムプロパティでオブジェクトの表示/非表示(レンダリング/非レンダリング)を制御する(blender)


カスタムプロパティを使用して表示するオブジェクトを切り替える手法です。



まず、制御元のオブジェクトにカスタムプロパティを作成します。(+New を押す)…①
Edit Propertyを開いて(歯車のボタンを押す)…②
Typeを"Integer"…③
今回は4つのオブジェクトの表示を切り替えるので、Maxを"4"…④
Property Nameを"objectDisplay"…⑤
と設定します。



パラメータ部分を右クリック→Copy as New Driverを選択。


 
表示/非表示をコントロールされる側のオブジェクトの Show In Viewports のチェックボックスを右クリックし→Paste Driverを選択します。
同じくShow In Renders のチェックボックスに対しても右クリック→Paste Driverを行います。
ドライバーが適用されることにより、それぞれのチェックボックスが紫色になります。



Show In Viewportsのチェックボックスを右クリックし、Edit Driverを選択、
Driven PropertyのTypeを”Scripted Expression”
Expressionを”objectDisplay != 1”と入力します。(カスタムプロパティの値が1の際に、Show In ViewportsのチェックボックスがONになる。)
Show In Rendersのチェックボックスにも同様の設定をしてください。



他の4つのオブジェクトのShow In Viwports/Rendersにも同様の設定を行いますが、
Expressionの数字はそれぞれ別の値にします。
今回、オブジェクトText_Bは"2"、オブジェクトText_Cは"3"、オブジェクトText_Dは"4"に設定します。
カスタムプロパティの値と一致するオブジェクトのみが表示/レンダリングされるようになります。

完成したシーンはこちら(blender 4.2.8で作成)


※ちなみに理由はわかりませんが、Show In ViewportsとShow In Rendersプロパティは、
値がTrueの時にチェックボックスがOFF、falseの時にチェックボックスがONになるようです。

PR

renameLayers (3dsmax maxScript)

3dsmaxのシーン上のレイヤー名を一括変換するmaxScript。
レイヤーエクスプローラー等で選択中のレイヤー名を一括で変換することが出来ます。
シーン内の特定のツリー内のレイヤー名を一括変換できるので、
・アセット作成作業時のアセット名の変更
・複数の同じアセットをシーンに合成する際のレイヤー名重複回避
等に便利です。



version 1.0.0 May.11.2024
リリース

version 1.1.0 May.12.2024
文字列の置換機能を搭載

ダウンロード

clothoidMaker (3dsmax maxScript)

クロソイド曲線を生成するmaxScript



version 1.1.1 May.12.2024
マクロスクリプト化しました

MaterialSwitcher (blender add-on)


複数のマテリアルを持ったマテリアルを一括して切り替えることのできるアドオンです。
1つのマテリアルにマスク処理や陰影グラデーションなどのマテリアルを複数持たせ、
シーン全体のマテリアルを一括で切り替えます。
blender 3.3以降推奨。3.2でも動くかもしれません。以前のバージョンではis_active_outputプロパティの挙動に問題があったようです。

※blenderの標準機能であるshaderAOVを使用するのと結局同じことをしているので、
ツールとしての意味はあまりなかったです。マテリアルノードへのアクセス方法の参考としてご覧ください。

※2024/07/29追記 半透明・透明抜きの処理のあるオブジェクトのマスク処理やらZ深度出力用に結局使ってます。(AOVだと半透明処理の出力が出来ない?・・・未検証 の為)


ダウンロード

アドオン作成の参考にさせていただいたYouTubeチャンネル
Darkfall

ビュー操作のみ業界互換、他はBlenderキーマップにした際のTips

(以下Blender 3.1での記事になります。)
Blenderでのビューの回転、移動、ドリーをAltキーを押して操作する、いわゆる「業界互換」を使いたいが、それ以外のキーマップはBlenderオリジナルを使いたいと思い、設定を試みました。

上図の3つの個所をそれぞれ、
Alt Left Mouse
Alt Middle Mouse
Alt Right Mouse
に変えればMayaやsubstancePainterと同じ操作になりますが・・・

【Alt + 左クリック】がループ選択と被ってしまい、ループ選択のショートカットが効かなくなってしまいます。


いろいろ試行した結果、

Rotation Viewボタン押下の判定をPressからClick Dragに変更すると、ループ選択もビューのローテートも【Alt + 左クリック】で出来るようになりました。
マウスボタン押下の判定順が影響しているのかもしれません。

Copyright © カネモリ製作所 : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]

管理人限定

ブログ内検索

最新コメント

プロフィール

HN:
カネモリ
性別:
男性
職業:
CGアニメーションなど

QRコード