渋谷ほととぎす通信

「Unityをわかりやすく」初心者のためのゲーム作りブログ

【Houdini初心者】HoudiniでTransformの値が変更できなくなった時の対処法

【Houdini初心者】HoudiniでTransformの値が変更できなくなった時の対処法

こんにちは、エンジニアのオオバです。

HoudiniでTransformの値が変更できなくなった時の対処法について説明していきます。
今回のケースはライト(Sky Light)を追加した際にsunlight1のTransformが変更できなくなった場合です。

シェルフツールの右のLights and Camerasタブの中にSky Lightというボタンがあるので、クリックします。

すると、sunlight1skylight1が追加されます。
この中のsunlight1の座標を動かそうとしても動きません。

パラメータペインからTransformタブを選択して確認します。

TranslateRotate共に緑色になっています。これはエクスプレッションが適用されているということになります。

これはプログラムから各パラメータが制御されているため、手動で設定できないことを意味しています。

👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!

エクスプレッションを確認する方法

【Houdini初心者】HoudiniでTransformの値が変更できなくなった時の対処法_0

TranslateRotate部分をクリックすると、エクスプレッションと値が切り替わります。

Translateのエクスプレッション

ch("../skylight1/skymap_sun_calc_vectory") * -10.0  

Rotateのエクスプレッション

ch("../skylight1/skymap_sun_calc_rotatex")  

これらのエクスプレッションが設定されていTranslate、Rotateの手動入力が拒否されています。

エクスプレッションの削除

設定されているエクスプレッションを削除してパラメータを手動入力できるようにしていきます。

【Houdini初心者】HoudiniでTransformの値が変更できなくなった時の対処法_1

削除したいエクスプレッションのパラメータ部分(今回の場合はTranslate)で右クリックして、Delete Channelsでエクスプレッションは削除できます。

これでTranslateは手動で入力できるようになります。

最後に

HoudiniはVisual Effect Graphの表現力向上のために始めました。
Unityとは勝手が違うツールで戸惑いますが、
MayaやBlenderとは違うプログラマー寄りのDCCツールで、触ってて面白いです。

コチラの書籍を片手に進めています。

オススメ記事
検証環境
  • macOS Catalina 10.15.7
  • Houdini Indie 18.5.351