LoginSignup
0
0

More than 1 year has passed since last update.

Houdiniで焼いたAmbientOcclusionが汚くなる問題の解決メモ

Last updated at Posted at 2023-05-14

Houdiniを触り始めて宇宙船を作ってみたは良いものの、AmbientOcclusionが汚くて半日躓いたメモ

以下の手順でAmbientOcclusionを焼こうとしている時のメモ

  • Houdini 19.0.531
  • AutoUVを使っている
  • BakeTextureで焼いている

原因

AutoUVで展開したUVが重なってしまうことが原因
重なると遮蔽度を共有してしまうので、片方が遮蔽濃い状態だともう片方も遮蔽が濃いとして認識される

ぶっ刺してるだけで繋がってないパーツとか、繋がってるけど縦横の比率が偏っているPrimitive、booleanでくり抜いただけの穴とかの付近がなりやすい
特に最後のbooleanでくり抜いただけの穴は、うまく展開するには凹部分の入り口でSeamを切らないといけないけどAutoUVではあんまり判別してくれない

解決方法

  • DivideノードでBrickerPolygonsで縦横比がいい感じの分割をする
    • 雑だけど手っ取り早い
    • AmbientOcclusionのためにプリミティブを増やしたくないので、BakeTextureのHighResObjectに指定するだけのオブジェクトとして分けた方がいい
  • 凹部分を浅くする
    • 画像には載せてないが機銃の部分もなってた
    • 大体これで解決はする
  • AutoUVのisland paddingを上げる
    • 安牌
  • AutoUVを使わずに手作業で頑張ってSeamを切る
    • すごくやりたくない

画像

問題があるやつ

コックピット周辺に黒い模様が表示されてしまっている

問題を解決したやつ

問題のあるUV

よく見ると中央下段部分でUVが重なっているのがわかる
image.png

どうせ左右対称なのでUVもミラーリングしたいが、よくわからない

  • このHoudiniバージョンだけかもしれないが、BakeTextureを実行してテクスチャを出力した後、MaterialがDirtyになっていないのかUVがRefreshされないバグがありそう?
    Houdiniを再起動するとBake後のテクスチャがちゃんと反映されて綺麗に治る。
    とっととアップデートしたほうが良さそう

  • テクスチャが一生反映されなくて原因ずっと探してたら、1時間後Material表示ボタンがSceneViewのサイドバーにあることに気付いて非表示状態だったのを見つけてちょっとイライラした(ちょっとじゃない :rage:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0