这不是文章,是个人备忘。
※2013/04/25 补充
收到了 myara 先生亲自发来的评论。
看来可以用标准功能实现……完全是我知识不足。太丢脸了。
这篇文章就作为我的黑历史保留吧。
来看的人能悄悄关掉就帮大忙了(汗)
我在建模时,会各种利用 SI 的硬边功能(边会变蓝的那个)。
以硬边为基础指定 UV 边界后进行展开,
以硬边为基础进行倒角→制作高模,差不多就是这种用法。
如果用默认功能来做这个硬边化,边缘集会像垃圾一样越积越多。解决这个烦恼的,就是 myara 先生的mHard Edge Marker。
我一直很常用它,非常感谢。
不过,mHard Edge Marker 虽然有根据边角度进行选择之类的功能,却没有选择已经硬边化部分的功能,所以在进行上述流程时会稍微有点低效。
所以就写了一个简单的脚本……
Softimage 脚本 Select Hard Edge
从已选择的多边形网格中选择硬边(蓝色边)

Select Hard Edge Softimage
已确认可正常运行的版本:Softimage 2012 (支持 ICE 的 SI 应该也可以吧
语言:VBScript
'---------Select Hard Edge '---------ymt3d '---------https://3dnchu.com/ '---------2013/04/25 set oObj = selection(0) '-------------------------------Main set oICEatt = oObj.Activeprimitive.geometry.ICEAttributes aHEdge = Array() for each oAtt in oICEatt if oAtt.name = "EdgeIsHard" then i = 0 oParam = oAtt.DataArray for each o in oParam if o = 0 then Push aHEdge,i'数组に押し込む end if i = i + 1 next end if next if UBound(aHEdge) >= 0 then aHedgeID = Join(aHEdge, ",") SelectGeometryComponents oObj&".edge["& aHedgeID &"]" end if '-------------------------------配列に押しこむ処理 Sub Push(Items, Item) ReDim Preserve Items(UBound(Items) + 1) Items(UBound(Items)) = Item End Sub '-------------------------------End
使用的是获取并使用 ICE 用参数。
如果还有其他更好的方法,或者“用默认功能就能做到!”之类的重要信息,也请告诉我……
myara 先生!请务必把这个功能加入 mHard Edge Marker……