myara CG blog

CG Design Blog. Thoughts, experiments and experiences.

SI | 両側にエッジを追加

オブジェクトの角のちょっとした丸みを出すために、Geometry Approximation の角度を高くして(Soft Edgeにして)、エッジの両側にエッジ1本を足すというやり方があります。そうすると、シェーディングが綺麗に見えますし、少ないポリゴン数で角の丸みができます。

bevel2.gif


この作業にりんぷるさんのプラグインを使っていましたが、複雑なエッジループだと上手くいきません。

前回のExtrude実験を思い出して、Extrudeでやろうとしたんですが、やっぱり複雑な形しているオブジェクトだと均等にエッジを引いてくれない為あんまり使えません。まだUV展開していないから無理してExtrudeを使うことないし。

Extrude実験の記事に使った Bevel+Sharpness のやり方で試してみたら、まま上手くいきました:

bevel0.gif


よく見ると、角の部分は変になっています:

bevel1.gif


エッジ一本だけでやる時にとそこまで問題がありませんが、やっぱり直さなきゃいけないところもあります。(自分はmAlignerでなんとか直しています。)

毎回Bevelの設定するのは面倒だから簡単なスクリプトを書いてみました:

JScript:

// mAdd2Edges
//---------------------------------------------------
// 2012/07/06
// myara
//---------------------------------------------------
// エッジを選んで実行

var BevelValue = 0.025
var oObj = selection(0).subcomponent.parent3dobject
var oBevelOp = GetValue(ApplyTopoOp("BevelComponent", selection(0), siUnspecified, siPersistentOperation, null));
oBevelOp.nbsubdivs = 1;
oBevelOp.tesselatesharpness = 2.514;
oBevelOp.units = 0;
oBevelOp.junctionparaterization = 2
oBevelOp.miter = 1
oBevelOp.ratio = BevelValue
InspectObj(oBevelOp)


メカ系のモデリングはあんまりしないからもっと良い方法があるかもしれません。
知っている方、是非教えてください。お願いします。


スクリプトで頑張ればなんとかなるのかな~、まだ思いつかないけれど、そういうツール作れても締め切りまで間に合わないからしばらく、このやり方で頑張ります!


7月10日 追記
最近FC2Blogが可笑しいな。テンプレート読まなかったりして、今回画像のリンクが勝手に変わっちゃいました。とりあえず、リンクを直しました。