FreeStyleでのレンダリング

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

投稿ツリー



前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/4/14 21:11
shery  半人前   投稿数: 22
以前
http://blender.jp/modules/myalbum/photo.php?lid=458&cid=4
のコメントで四角ポリで約90万ポリのものがレンダリングできなかったと書きましたが、時間が出来たので色々試した所、原因がポリ数ではない事が解りました。

メッシュ同士の重なり具合とレンダリング時のカメラとの距離や角度、各モジュールとの相性(?)のようなものとの関係で、レンダリング出来る条件が極限られた状態になる場合があり、この条件を満たせなかった場合はBlenderがエラーで落ちるという事になるようです。
ただ、この条件はモデル等を見ただけでは判断出来ないのと、スクリプトは殆ど理解出来ていないので、どういう時にというような事までは自分には追求できませんでした。

上記URLの画像に使った物だと前髪の一部が原因でレンダリング出来ませんでした。ただ、この原因となった一部分は原因とならなかった部分のコピーで作った物の中の一つなので、モデルを見ても何故これがだめなのかは解りません。(内部処理的な部分で引っかかるような感じ。)
その部分のメッシュを削除・又は重なりが極端に変わる位置へ移動した場合はレンダリング出来ました。
メッシュ形状はそのままに、カメラ位置や角度を変えていくと、ある特定の位置・角度付近ではレンダリングできますが、それ以外だとレンダリング出来ませんでした。

又、Curveを利用して変形させたメッシュには線が出ませんでした。
Curveの変形を直接メッシュの変形にしているアニメーションを作る場合、現状のFreeStyleでは線を書けない事になります。

このような情報(?)的なものはどこに書けばよいか、と思ったのですが、何かの役に立てばという事でこちらに書き込ませて頂きました。

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/4/15 12:17
nonchang  常連 居住地: さいたまー  投稿数: 51
引用:
メッシュ同士の重なり具合とレンダリング時のカメラとの距離や角度、各モジュールとの相性(?)のようなものとの関係
MacのFreestyleでも同様の現象を感じますね。
シーンの複雑さは関係ない模様で。

シンプルなシーン例で、キューブとプレーン置いただけで落ちるblendファイルを本記事に添付してみます。
freestyleをオンにして、add style moduleで標準のcountourを選ぶとレンダリングに失敗します。

現在Mac版のビルド19672で試していますが、過去のGraphicall.orgのfreestyleビルドでも変わらない模様です
どちらかを削除するとレンダリングが通るんですけど、再現性が掴めないんですよね……。

引用:
カメラ位置や角度を変えていくと、
カメラ角度も関わるんですね。試行錯誤してみたいと思います。

再現性掴めたらバグトラッカーに投げてみたいものです。アニメ表現を求める日本人勢の一人として
:download:freestyle_crash.blend

投票数:2 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/4/16 3:37
T.K.  新米   投稿数: 10
sheryさん:

引用:
上記URLの画像に使った物だと前髪の一部が原因でレンダリング出来ませんでした。
問題を再現できる .blend ファイルをいただけると原因の追究がしやすくなります。
よろしければご検討くださいませ。(余談ですがこの作品は実に素晴らしいですね。
髪の毛の作り込みもトゥーンシェーディングも輪郭線もたいへんきれいで決まって
います。掲載されてからしばらくの間、何度となくこの作品を見にきていました。)

引用:
Curveを利用して変形させたメッシュには線が出ませんでした。
たぶんコンソールに "Sorry, only vlak-based shapes are supported" という
エラーメッセージが出ていると思います。Freestyle レンダラが Blender から
形状データを受け取る部分で出しているエラーです。DupliVerts なども同じ
エラーで描画できません。Maxime からは何も聞いていませんが、恐らく単純に
未実装なだけなのではと思います。

nonchangさん:

引用:
シンプルなシーン例で、キューブとプレーン置いただけで落ちるblendファイルを本記事に添付してみます。
この作例ではカメラが Orthographic になっていますね。今のところ Freestyle は
Perspective でないと落ちます。

また関連すると思われる問題として、カメラの視界の後ろにオブジェクトがあると
ダメです。

バグ報告は公式のバグトラッカーでなくても構いません。あれっ?と思うことが
ありましたら気軽にご報告ください。報告先はこのフォーラムでもいいですし、
私宛(rd6t-kjym at asahi-net.or.jp)のメールでも構いません。もちろん日本語で
OK です。よろしくお願いいたします。
投票数:6 平均点:5.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2009/4/16 23:12
shery  半人前   投稿数: 22
nonchangさん、こんばんわ。

再現性は掴めないですね。
漠然とした感じで計算がうまく通らないとかなんだろうなぁとは思うのですが、それを避けた形を作るのは不可能ですし。

カメラの位置や角度は関係無かったかもしれません。
スレ立て後に試した分では、カメラを弄っても変化が確認出来ませんでした。
下に書いたような事と同時にカメラを移動していて、勘違いしたかもしれません。(スレ立て前はAppendで変わるとか気づいていなかったので。)


T.K.さん、こんばんわ。

問題の髪の部分のモデルをUPしました。
(画像の感想、ありがとうございます。)
勘違いをしていて、UPした画像のモデルは消していて、その後に作り直したモデルで試していました。
なので画像のものとは別形状です。

UPしたファイルは新規ファイルにAppendしたものです。(元ファイルは圧縮してもサイズが大き過ぎるので止めておきます。)
現状のファイルの状態と自分のPC環境では、後髪のSubsurfのLevels1と3はレンダリング不可、2は可です。(CurveをApplyしないと線は出ません。)

Append後の前髪はレンダリング不可の原因とはならなくなりました。
元のファイルでは後髪は新規にAppendしたものと同様で、更に前髪はSubsurfのLevelに関わらず一部が原因でレンダリング不可です。
この元ファイルの場合、元のファイルから無関係な部分を削除していっても、このようなレンダリング可・不可の挙動が変わったり変わらなかったりします。
3種類のBlenderが入ってますが、SaveするBlenderは一つに決めて、Load後に変更無しでSaveの繰り返しで変わる事もありました。
又、全く無関係な別ファイルを編集後、挙動が変わっている事も稀にあります。


ここまでの感じでは、
・単体でOKなオブジェクトが複数集まる
・新規にAppend
・レンダリングするものとの関係の有無に関わらず削除
などで挙動が変わるような気がします。

Curveの事。
引用:
たぶんコンソールに "Sorry, only vlak-based shapes are supported" という
このメッセージは出ていません。
未実装・未対応なんだろうなとは思ってました。



余談。
コンポジットノードに輪郭線描画のノードがありますが、モデル形状が変わると全く使い物にならない線しか出ない事もあるので、試す方が居たら、かなりの調整が必要だと思います。


:download:upKami.7z

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009/4/17 7:23
T.K.  新米   投稿数: 10
sheryさん、早速のデータUPありがとうございます。

"Warning: degenerated triangle detected, correcting" という警告が出ますね。
この警告は初見ですが、メッシュにおかしな三角形が含まれていると出るようです。
試しに各メッシュについて Remove Doubles を適用してみたらこの警告が消えて
レンダリングが完了するようになりました。

"correcting" と言いつつ落ちるのはおかしいですね・・・。原因追求はこれからです。
しかし、メッシュからビューマップ(スタイルモジュールによる操作の対象となる
線分と属性の集まり)を作る部分のコードは非常に込み入っていて、これまであまり
手を入れてこなかった部分なので時間がかかるかもしれません。

とりあえず Maxime に伝えて既知の問題として記録したいと思います。

あと、前回書き忘れましたが、編集操作をアンドゥしてから Freestyle で
レンダリングすると落ちるようです。
投票数:2 平均点:5.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/4/17 8:14
T.K.  新米   投稿数: 10
引用:
引用:
たぶんコンソールに "Sorry, only vlak-based shapes are supported" という
このメッセージは出ていません。
カーブオブジェクトがレンダリング対象になっているとこのメッセージが
出るみたいです。カーブモディファイアの付いたメッシュの描線が出ないのは
別問題のようです。メッシュが読み込まれて、Stroke count の数値も正しく
出ているのに描線が出ませんね・・・。こちらも調べたいと思います。
報告ありがとうございます。
投票数:2 平均点:5.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/4/17 22:50
shery  半人前   投稿数: 22
T.K.さん、こんばんわ。

確認有難うございます。

引用:
"Warning: degenerated triangle detected, correcting" という警告 〜(略)〜 完了するようになりました。
この件、こちらでも確認出来ました。
この事で、後髪のオブジェクトについて、先端部分の細工が原因な事が解りましたが、真ん中と左右の細いメッシュの計5つのメッシュの先端はレンダリング不可の原因にはなっていない事も解りました。
Remove Doubles だと形状が変わってしまうので、上記5箇所以外の先端部分の、最先端から2箇所それぞれの、同位置にある筈の頂点を[S,0]で揃えた所、VNormal が変化し、形状維持のままレンダリングが通りました。
この先端部分を作る際の手順やここと関わる部分の編集過程などから、同位置にある筈の頂点が、パッと見で変化無しに見えて少しづつズレが生じて、このズレ具合によって警告が出る状態になり、レンダリング不可となるようです。
試していなかったオブジェクトでこの形状のあるものをいくつか試しましたが、[S,0]でも[SHIFT+S,Selection -> Center]でも、方法に関わらず位置が揃えばレンダリングが通りました。
更に、問題の箇所の頂点の位置関係をズレたそのままで10倍に拡大した所、レンダリングが通りました。

この事から、自分で確認出来た範囲でオブジェクト単体で見た時、
三角形を形成する頂点の位置が、
・全く同じ位置
・ある程度以上の差のある位置
・極小の差の、ある特定の数値的関係の位置
ならレンダリング可
・極小の差の上記以外の数値的関係
ならレンダリング不可
という事になります。

こうだとすると、Appendで挙動が変わる件は、Appendする事で極小単位での誤差の丸めとか発生などその類の変化が起こり、という事なら原因が同じという事で筋が通ります。


Curveオブジェクトそのものをレンダリングしようとした事が無かったので書き方があやふやでしたね。
始めに書いたのもCurveModifier付きのメッシュという意味でした。

Blenderを使っての部分まででしか追えませんけど、自分の中でまるで掴めなかった再現性のうちの一つは見えた感じがします。

投票数:1 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/4/18 23:00
T.K.  新米   投稿数: 10
sheryさん、確認と詳細な報告ありがとうございます。
不正な三角形の件と Curve モディファイアの件、追って調査します。

他にもおかしなところがありましたら気軽にご報告ください。
よろしくお願いいたします。
投票数:1 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009/4/19 1:59
shery  半人前   投稿数: 22
T.K.さん、こんばんわ。

今の所、ノードでの線の出具合と見比べたりお試し程度にしか利用していないのですが、なんらかの不具合など気づいたら報告させて頂きます。
(使う側の参考情報にでもなればなぁと思っていたのですが、開発側の方とやり取り出来るとは思いませんでした。

自分よりも本格的に利用されてる方のほうが色々気づいている事は多いと思うので、そういった方からの報告もあるといいですね。

投票数:1 平均点:10.00

  条件検索へ


ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

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

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

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


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