Array Mesh、Make Mesh後の処理についての質問
-
お世話になっております。
久しぶりに、Array Meshを使っていて、『壁』にぶつかりました。
そこで、ご相談したく、書いております。もし、手順に、間違いがあったら、そこも含めて教えていただけますでしょうか。
メッシュを近接もしくは重複部分のあるかたちで、Array Meshを適用した場合に、それを3Dプリンティングできるデータにしたい場合、どうしたらいいのかを知りたいのです。
はじめに、ベースとなるメッシュを作りました。
画像1-bと画像1-cDynamic Subdiv をApplyして、Divideをかけているので、頂点数が多い状態です。
画像1-dこれを次のような設定で、Array Meshを使います。
画像2-aこれをExtrudeはOFFで、Make Meshします。
画像2-bと画像2-cそうすると、ポリフレームが重複していることがわかります。
Live Booleanの引き算を使い、メッシュを移動させていくと、内側が詰まって閉じていることがわかります。
画像2-d
そこで、Z Remesherを、次の適用(Active SymmetryはX/M)で、Halfにして、かけてみます。
画像2-eすると、次のようなポリフレーム表示になります。
画像2-fクローズアップすると、やはり、重複しています。
画像2-g再び、Live Booleanで断面をチェック。
空いている部分もありますが、詰まっている部分もあります。
画像2-hと2-iさらに、メッシュ自体に、黒い小さな点(穴)が開いていることもわかります。
画像3-1と画像3-2
どうしたら、出力用のデータとして、この形を仕上げられるか、ご教示ください。
宜しくお願いします。 -
Array Mesh を行った後、Make Meshを行ったとしてもメッシュが一体にならないのは、あくまで「複製を行った物体を90度回転させて重ねている状態」だからです。
なので、この場合には同一サブツール内のメッシュを一体にする操作を行う必要があります。
その場合にはDynameshなどの選択肢もありますが、ポリゴンの張り直しが行われてディテールが損なわれる可能性があるので、DeformerのRemesh By Unionを利用することをおすすめします。これを利用することにより、接合部分以外に変更が加えられません。 -
ご回答、ありがとうございます。
やってみます!
Z Remeshばかり意識していて、ご指摘の方法、知ってはいたのですが、意識の外でした・・・。
今後は、意識するようにします! -
お世話になっております。
前回のご回答で、すべて解決するだろうと思っていたのですが、
問題が出てまいりまして、ひきつづき書いております。教えていただいた通り、GizmoのDeformerのRemesh By Unionを使ってみました。
すると、中央部分に細かい穴が開いている状態で結果が出ました。
(画像、とっていませんでした・・・。)それで、Remeshする前のオブジェクトのポリゴン数が多かった(細かかった)からだろうと思い、Array Meshを使う前に一度、Remesh By Unionを使いAccept、その後、Array MeshでMake Meshをしてから、また、Remesh By Unionを使いAccept。
すると、断面はこんな感じになり、Live BooleanでのShow Coplanarを使ったところ、エラー部分が赤く表示されました。
それで、知人から聞いた話を思い出し、ブーリアン引き算用にダミーのオブジェクトを用意し、無関係の場所で配置してから、引き算でエラー部分を消そうとしたところ、次のエラーメッセージが出ました。
Fix Meshを使い、Z Remesherでポリゴンを減らして、ブーリアンしましたが、次の警告メッセージが出ました。
一回はうまくいったことがあったのですが、なぜ、うまくいったのかがわからない(苦笑)、その後、『再現』ができず、疑問のままになってしまいました。
この問題、どうしたら解決できるか教えて下さい。
宜しくお願いします。
-
@sirius2xanadu
まず初めにArrayMeshを行う前に一度メッシュの状態を確認していただいたほうが良いと思われます。Subdivisionがある場合には一度それらを消し、CloseHoleを行ってみてください。
おそらく最初の段階から穴がある状態(こういうメッシュをWatertightなメッシュでない状態といいます。例えると容器に水を入れると漏れる状態)となっており、その後、ArrayMesh→Unionメッシュを行っているため、穴がさらに複雑に発生していることが予測されます。ブーリアン用のダミーを置くというのがいまいちわからないんですがその処理って必要です?
-
ご回答、ありがとうございます。
最初のメッシュでは、Live BooleanのShow Coplanarでチェックしてみたのですが、その時には、赤いエラー部分がありませんでした。
だから、大丈夫だろうと思っていました。これについては、もう一度、確認してみます。
もし、わからなかったら、エラーの確認方法をうかがうことになるかもしれません。ブーリアンのダミーの件については、Array Meshでつくったものに関しては、こんな手順を教えられました。
話を聞きながらのメモだったので、聞き違い、書き間違いがあるのかもしれませんが。『Array Mesh使用オブジェクトの仕上げ方』
まず、ブーリアン引き算用のダミー・サブツールを作り、本体とは無関係のところに配置する(ブーリアンは引き算設定)。
ブーリアンする。
Glow Allをかける。
Check Mesh/Fix Meshをかける。(GeometryのModify Topologyにある。)
Delete Hiddenをかけて、よぶんなものを完全に消す。
Close Hallでメッシュの『穴』を埋める。
Decimationをかける。その際のポリゴン数は仕上げたい状態のポリゴン数の4分の1を目安にする。
Net Fubbでエラー箇所がないか、確認。自分にはGlow Allをかけるというのがよくわかりませんでしたが。
必要な手順についての、ご意見をいただけると、助かります。
宜しくお願いします。
-
追記として書いておきますと、ダミーの配置&引き算は、重複部分を消してくれるとかいう話だったように思います・・・間違いだったんですかね?
-
おそらくそのご友人のアドバイスは、ご友人が、”LiveBooleanで、単一のサブツールではLiveBooleanのBooleanを行えない”と解釈しているため、行っている手順だとは思うのですが、この処理は上記で解説したRemeshByUnionがその手順と同等のものとなります。
そのため、ダミーの配置は手順としては不要です。また、このモデルでは、十字の中央部分で、メッシュがお互い重なりあっているため、「LiveBoolean」の特徴である「メッシュとメッシュの接点である部分のみ変更を行う」という特徴がかえって邪魔をしてしまっているため、Dynameshにて結合を行うことをおすすめします。
ディテールが消えない程度の解像度にてDynameshにてメッシュの更新を行ってみてください。その後、Decimationを適用し、3Dプリンタ用にNetFabbなりを利用してメッシュの状態をチェックしてみてください。
単純に重なり合った状態で、メッシュが一体となっていない状態。
Remesh By Unionを行ったものの、メッシュとメッシュの接点が十字の中央部分で、重なりあっているため、あまり良い結果になっていない状態。
ズームしてみるとこんな感じです。
一度戻り、Dynameshにて結合を行った状態。
ズームしてみると、きれいに一体になっていることがわかる。 -
-
@sirius2xanadu
左右対称の有無がご心配でしたらDynamesh後、Mirror and Weldを利用することで、正面から見て左側にあるメッシュを右側に反転して配置を行うことができます。
また、求めている精度にもよるとは思いますが、3Dプリントで最終的に研磨などを行うモデルかつ、明らかな左右対称の崩れなどが無い場合には、許容範囲だとは思います。 -
いつも、ありがとうございます。
ちょっと、いろいろと試してみようかと思います。このてのArray Meshで、インスタンスメッシュがくっついている状態でのオブジェクトを作るのは、なかなか難しいんですね。
最初のメッシュに関しては、Z Modelerとダイナミックサブディヴ、Divideを使ったくらいなので、難しい形だとは思わなかったのですが、Applyして、Del Lowerも済んでいるメッシュなので、最初のメッシュに問題があったとは思いにくいんですが。
そうなると、Array Mesh以降の手順部分が・・・ということになりますよね。
Array MeshでMake Meshをしてから、ダイナメッシュ、やってみます。
-
お世話になっております。
あれから教えていただいたDyna Meshを使ってみましたが、解像度を最大にしても、面が荒れてしまい、ディテールを維持することはできないようなんです。
Array MeshのMake Meshのあと、いろいろとリメッシュを試みたのですが、Z Remesher、GizmoのDeformer以外のRemesh By・・・も試してみましたが、どうもうまくいっていないように思います。
Live Booleanで出るエラーは、Live Booleanの特性で出るエラーで、従来のブーリアンならエラーとは出ない(エラーのうちにカウントされない?)ということでしょうか?
それとも、Live Booleanを使わなくても、共通の重なり合う面があれば、どのやり方でもエラーとなるという意味になりますか?
(内側に存在するポイントやエッジを消去することができない?)
(あるいは、重複してしまっているから、ひとつにまとめることができない?)つまり、今回のようなArray Meshを使って、面が重なるタイプのメッシュは、作っても表示はできるけれど、エラーが出る、インスタンスメッシュは離れたところに配置しなくてはいけない、という解釈になるのでしょうか?
この画像の造形が出力できればと思っていたのですが。
長々と続き、申し訳ありません。
でも、このArray Meshの使い方(限界?)、確認しておきたいのです。
なにとぞ、宜しくお願いします。 -
@sirius2xanadu
Dynameshを行う前のサブツールをDuplicateし、片方に、Dynameshを行い、その後、ZRemesherを行い、元のサブツールと重ねた状態で表示を行い、ProjectAllを行ってみてください。
Divideを行い、サブディビジョンレベルを追加してから再度ProjectAllを繰り返し、すべてのディテールの転写が終えたら一体になった状態かつきれいなトポロジーで、同じディテールを持つメッシュが作成できます。一体にメッシュを作成する際に、Arraymeshを利用して形状を行う際にそのメッシュの中央が双方重なり合っているためにCoplanerの面が発生しているため、それらを避ける必要があり、Dynameshを利用しています。
Dynameshは性質上、解像度を指定し、一体にしますが、解像度次第ではディテールがつぶれてしまいます。ですが、メッシュが一体となっているため、Zremesherなどで一度転写を行うための下準備を行います。
その後、一体になったメッシュのディテールを戻すために、ProjectAllで、ディテールの転写を行い直すという手順になります。 -
ご返信、ありがとうございます。
やってみます。
本当に助かります。
感謝です。 -
お世話になっております。
ご指示いただいたように、Project Allを使う方法を試みて検証してみました。
最初のメッシュ(Array前のメッシュ)はポリゴンの数が多くて問題の要因になりそうだったので、Z Remesherでポリゴンの数を減らしました。
意外なことに、ポリゴンをよく見ると、対称になりきれていない部分がありました。
Active SymmetryはONにして設定してありましたし、Z RemesherもALT押しでクリックしたのですが。
それで、その部分に関しては、Mirror&Weldを使い修正しました。そこから今まで通りのArray MeshでMake Meshをして、Duplicateをし、片方(ProjectAllをかける側)を念のために、解像度は最大にしてDyna Meshをかけました。
Dyna Mesh後、かなり表面が荒れましたので、Z RemesherをHalfでかけました。
荒れは少し和らいだのですが、まだ荒れはあります。
そして、Project Allをかけたところ、前よりはディテールが明確になったのですが、荒れは消えません。
この時、Divideの際に、他がヌルい形になるのがいやだったので、smtはオフで、Divideをしていました。
Subdivision Levelが3になっても、Project Allで荒れは消えず、それ以降変化らしい変化がなかったので、
今度はDivideの際に、smtをONにして、それからProject Allをかけるという作業で繰り返してみました。
ですが、結果にはそれほど大差がなく、荒れはあります。
そこで、うかがいたいのです。
Dyna Meshの設定が間違っているのか?
Project Allの設定を変えるべきか?実物を見る限り、出力予定のサイズで考えると、荒れはそれほど目立つものではないようにも思えます。
その部分はプリンティングしてから、手作業で補正するべきなのでしょうか?
それとも、データのうちに、Smooth BrushやFlatten Brashで補正すべきでしょうか?ご意見、提案を教えていただけると、助かります。
宜しくお願いします。実物を見る限り、出力予定のサイズで考えると、荒れ
-
@sirius2xanadu
いまいち「荒れ」という箇所がわからないのですが、具体的にはどの部位でしょうか。
×状に線が走っている部位に関してはZremesher+ProjectAll後Smoothで治せる内容だと思います。
投影を行う元の形状にあるものは当然それらを含めて投影が行われるので調整は必要です。 -
この画像でわかりにくいかもしれないのですが、表面にバリのような荒れが出ています。やはり、Smoothで治す必要があるんですね。
こういう調整が必要になるものなんですね?自分には初めてのケースだったので、疑問だったんです。
-
@sirius2xanadu
投影する際に元データにない場合には、Distanceの設定を調整していただいたほうがよいと思いますが、投影を行う元データにある場合には、基本的にそういう箇所はZremesherを利用したデータにSmoothにて調整を行います。 -
いろいろとご説明、ありがとうございます。Distanceの調節も含めて、いろいろと確認しながら、やってみようと思います。
まだ経験が足りないというか、場数が必要なのだろうと思います。
Z Brushが自分にとっては、初めてのモデリングソフトなので、「知っているべきこと」や「わかっているべきこと」がまだ足りないのだろうと思います。トライ&エラー、続けます。
ありがとうございます!