大量のオブジェクトのUnionの方法について

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー



前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2015/11/23 18:25 | 最終変更
chuck  新米   投稿数: 2
はじめまして。chuckと申します。初心者の質問で申し訳ないのですが、標題の件について困っており、皆様のご助力を仰ぎたい次第です。

現在、比較的大量のNURBS球(約1000個)が重なったものをUnion(統合)したいと考えています。一つ一つ「モディファイア→ブーリアン→統合」を行うのは面倒なので、「BoolTool 0.2」(vitorbalbio様作成のプラグイン)を用いて、一気に統合することを試みました。しかし約50個以上のオブジェクトに対してUnionを行うと、Blenderがフリーズ・強制終了をしてしまいます(PCスペックは後述)。分割して少しずつ行うしかないのか、それとも何か他に良い方法があるのか、教えて頂きたい、というのが一つ目の質問です。

そもそもなぜこのようなことをしたいのか、という点について。この図形全体にGlass BSDFマテリアルを割り当てたいのですが、Unionを行わないと球と球が重なった部分の面(本来存在していてほしくない面)でも反射が起こってしまい、おかしな見た目になるためです(例1, 2画像参照)。もしUnion以外でもこの現象を回避できる方法があるのならばご教示願いたい、とも考えています。

的外れな質問とは存じますが、回答をいただければ幸いです。

例1(Union前)http://fast-uploader.com/file/7003825161760/
例2(Union後)http://fast-uploader.com/file/7003825317965/

作業環境
-------------------------------------------------------------------------------
core i5-2400(3.3 GHz), RAM: 8 GB, GPU: GeForce GTX 750Ti
windows7 64 bit, blender 2.76b
オブジェクト数: 1057, 頂点数: 676020, 面数: 621984, 三角面: 1243968
-------------------------------------------------------------------------------

投票数:11 平均点:5.45
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2015/11/24 7:28 | 最終変更
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4405
はじめまして Chuck さん。
これですね。

一般的に強制終了するなら、なにかメモリ消費量がわかるツール(タスクマネージャでも可)を使用し、メモリが足りそうな上限数で繰り返すしかないのではないでしょうか。あるいは可能であればRAMを増やすか。
一応Blenderも64ビット版を使用されているかご確認ください。

実際に32、16分割のUV球(512面)を51個並べた物のUnionを試してみましたが、お互いに重なり合ってる部分が少ない所為か、1分ぐらいで終わりました(i7-2600, 16GBRAM)。
引用:
もしUnion以外でもこの現象を回避できる方法があるのならばご教示願いたい、とも考えています。
形状の構造自体を変更する必要があるため、無理ではないでしょうか。
投票数:6 平均点:6.67
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2015/11/25 2:32
chuck  新米   投稿数: 2
yamyam様

早速ご回答を頂きありがとうございます。わざわざ実験までしていただき、恐縮の限りです。まずお詫びしたいのですが、質問文の「Blenderがフリーズ・強制終了をする」という表現は誤りでした。「Blenderが30分以上フリーズするので、(痺れを切らして)何か操作をしようとすると強制終了する」というのが正確な記述です。他の方の事例と比較して「このオブジェクト数、PCスペックで30分も掛かるのはおかしい」と早合点して操作を中断していました。

恥ずかしながら、yamyam様のご回答によって「お互いに重なり合ってる部分が多いと負担が大きい」という認識を初めて得ました。実際、重なりが少ない図形を私の環境で試したところ、100個以上でも数十秒で演算可能でした。私が扱いたい図形は球同士が重なっている部分が非常に多いので、Unionをかけて2時間ほど待ってみると・・・演算が完了していました!

非常に間抜けな結果で申し訳ないのですが、おかげ様で解決を見ることができました。大変助かりました。ありがとうございます。

-----------------------------------------------------------------------------------------
ちなみに、タスクマネージャーで確認したところ、RAMの使用率はbooleanを行う前と比べてもほとんど変化していませんでした(2 GB強)。CPUの使用率に関しても特段高い訳ではありません。blenderは64bitバージョンのものを使用しています。素人目には、GPUのメモリ or 演算速度がボトルネックなのか?という印象を受けました。
-----------------------------------------------------------------------------------------

投票数:10 平均点:9.00

  条件検索へ


ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki