2019年5月2日木曜日

Blender Fracture ModifierでFreestyleをするとひびが目立つ、線が途切れる~解決方法~


こんにちは。


今回は、Blender Fracture ModifierでFreeStyleを設定した際、ひびに線がついてしまうということ、そして、その解決方法について書いていこうと思います。


また、FreeStyleの線が途切れるという問題についても、解決策を書いていきます。



そもそも、Blender Fracture Modifierとは何かということですが、これはこちらの記事に書いてあります。
よろしければ、ご覧ください。

Blender Fracture Modifierを使用してオブジェクトを破壊する!!Cell Fractureより簡単(かもしれない)


まあ簡単に言えば、オブジェクトの破壊シミュレーションが簡単に、高クオリティでできる改造版 Blenderです。




それで今回僕は何をしようとしているかと言いますと、このBlender Fracture Modifier、そして、FreeStyle機能、トゥーンシェーダーなどを用い、破壊を含む2Dアニメーションを作成しようとしています。



おそらく、質の低い、しょうもないものができるんでしょうけど...


困ったこと


作品の質はとりあえず置いておくとしても、ここで困った問題が2つほど発生しました。



一つは、まだ破壊が始まっていないにも関わらず、ひび模様が既に出てきてしまっていること。


Blender Fracture Modifierによってできたエッジに、FreeStyleが反応してしまったんですね。


困りましたね。



そしてもう1つは、上図のように、輪郭の一部が途切れてしまっていること。


理由はよくわからないです。


後ろにある床のひびと重なって、何かが起こったんですかね。



ということで、僕が試行錯誤、また、ネットで調べて分かったことを参考にした解決策を書いていこうと思います。


「線が途切れる」の解決方法


こちらは簡単でした。


ネットで調べれば、すぐでてきたので。

FreeStyle で描線がつながったきれいなエッジを出す設定


まずは、FreeStyleの設定から、「Face Smoothness」にチェックを入れます。
なんか、なめらかにする設定のようです。



次に、FreeStyleの「ジオメトリ」に「Bezier Curve」というモディファイヤを追加します。



これで設定完了です。


レンダリングし直してみてください。

綺麗な線になっているはずです。



「破壊されていないところにFreeStyleの線が付く」の解決方法(旧)

こ こに書いてある方法は、原始的であり、実際に動かしてみると、不自然なものであります。

この記事を書いてから数日後に、「正式な解決方法」をコメントで教えていただきました。
本当にありがとうございます。

ということで、この下に、今回教えていただいた「自然な動作をする解決策」を書いておきました。
ですのでこの旧バージョンは読み飛ばしてください。


正 直、こちらの方は、うまいやり方が見つかりませんでした。


一応解決策らしきものは載せておきますが、これが正しいやり方かと言われると微妙です。



で、どうするかというと、通常時は、Fracture ModifierをOFFにしておいて、破壊が始まる瞬間にONにするという原始的な方法です。



このカメラマークの上でIキーを打つと、キーフレーム が打てます。


これをオフにすることで、余分なひびは消えました。



ただ、このままだと、破壊シミュレーションが始まって も、レンダリング結果としては、破壊されていません。


つまり、こんな感じになります。



ボールが埋まっちゃっています。


これを解決するためにも、破壊が始まった瞬間に、先ほどのカメラマークをオンにし、それでキーフレームを打ってください。



それで、実際に動画にしてみたものがこちらになります。



ボー ルが付いた瞬間にひびが一気にはいるので、不自然な気もしますね。


まあでも、このくらいならば、後の動画編集でエフェクトかなんかをかけてごまかせると思います。


もっといい最善策があれば、ぜひ教えてください。


「破壊されていないところにFreeStyleの線が付く」の解決方法(新)

では、上記の古典的かつ不自然なやり方ではなく、コメントで教えていただいた、自然な方法をご 紹介していきます。

本当に、コメントありがとうございました。
助かりました。


それでどうするかと言いますと、超簡単です。



Fracture Modifierの設定項目に「Autohide Distance」と「Automerge Distance」というものがあります。


初期値では0になっていると思いますが、この数値を少し上げてやればいいのです。


そうすることで、Fractureを設定したオブジェクトも、FreeStyleの線が余計に入らなくなります。



しかし、注意が必要なのが、この数値をとにかく上げればいいというわけでもありません。

上げすぎると、かえって不自然になります。

各自、ちょうどいい数値を探してみてください。



この方法を用いて実際に作ってみた動画はこちらになります。


人型のモデルがいる旧動画とは違う3DCGを用いてしまったので、比較がしにくいです。(申し 訳ございません)


でも、ゆっくり再生してみると、自然な動きになったことがわかるのではないでしょうか。


急に線が現れるのではなく、破壊が始まったところから、ひびが入るようになりました。

皆さんも、ぜひ試してみてください。



では、さようなら。
またお会いしましょう。


人気の記事