version: 2.65
円筒状のメッシュにプロシージャルノーマルテクスチャを適用してロープの縄目や竜の鱗を作る、という手法は広く知られていますが、curveオブジェクトに適用するためにはtexture spaceをuvには出来ず、generatedの設定をいじりながら実装する必要がある。
以下はテクスチャ設定の覚え書き。
- Auto Texture Space
- Use UV for mapping
- プロシージャルテクスチャを張る場合、x方向に倍率をかけないとcurve自体の長さで引き延ばされた形状になる
- ポリゴン側のメッシュ感覚が均等でない場合も、Auto texture space側ではUVメッシュは均等に張られる。nurbscurveの場合、各制御点の距離が均等になるように形状を形作ることが望ましい。
- これは下記の手順でメッシュを気にせず作成できる。
- カーブの曲がりのみを作成したCurveA_for_deform(任意の制御点)をつくる。
- 面を張ったCurveB_for_surface(※制御点間隔は均一)をつくる。
- CurveB_for_surfaceにCurve modifierを適用し、CurveA_for_deformに沿わせる。
- Curve_Bにプロシージャルテクスチャをかける。
- 何度かレンダリングして、Coordinates: Generated, Projection: Flat, Mapping>Size>xの倍率を調整すれば大体想定通りの形状を得ることができる。
- 逆方向の縄目にしたい場合はsizeの倍率を負にすればOK。