返回列表 发帖
Bookmark and Share

sculpty 初级讲座 (1) - 什么是 sculpty (修订版)

NiR 的教程使人受益匪浅,于是我也贡献点微薄的力量。
sculpty 建模估计是很多新人关心的话题,因为自己现在也还是个新手,所以就站在新手的立场上来传授一下学习 sculpting 的技术和经验。如有错误和不足就请大师们批评和指正,以免误人子弟。

本系列将包含:

1. 什么是 sculpty
2. Maya 下的 sculpty 建模
3. Maya 下的 sculpty 的输出和 SL 导入
4. Texture Baking (材质烘烤)
5... (待定)


0. 学习 sculpty 之前
-----------------------------

虽说是新人教程,但想玩 sculpty 必定还是有一定门槛的。
1. 有一定的图形软件经验,毕竟这里不可能教你 PS 的基本使用,不会通篇教习 Maya。请自行入门
2. 本人使用的工具是 Maya, 其它 3DSmax, blender, C4D 等等,基本原理都是相同的。就跟 NiR 所说的,玩 sculpty 涉及的是以往冷门的建模方法,所以起点实质上都是一样的。
3. 在 SL 中,至少要积累一些 basic prim 的建设经验,以熟悉 SL 的 prim 工具。




1. 什么是 sculpty
=================


闲话少说,sculpted prim(雕塑件,简称 sculpty)就是一种节约 prim count (prim 数)的 prim。若干个 basic prim 才能组成的形体,很有可能一个 sculpty 就能完成;而一个 sculpty 的形态也可能若干个 basic prim 组合都无法实现。Blah, blah.....总之,如果你希望在 SL 中制作精致、有效的物品,sculpty 是你唯一的选择。

【sculpty map】

sculpty map 就是这样一张RGB图像,没有 alpha 通道。它的基本原理就是用 R.G.B 三色通道代表x.y.z 轴为法线的三个视角,在每个视角中的横纵坐标外加511级(-255~255) 色深代表某一坐标(x,y,z)的位置。map 中每一个像素实为一个顶点。因此一张2D的图形就能够转变成为一个3D的物件。

【sculpty map 的格式】
任何在 SL 中导入的图形文件格式都可以作为 sculpty map 的格式。当然保险起见,为了图形坐标的准确性,尽量使用非压缩的格式为佳(SL 导入图片时 128x128 以下尺寸的图有非压缩选项)。SLwiki 中指明 SL 中每个物件最多支持 1024 个顶点显示(32x32),但建议使用 64x64 以上尺寸的 map,大于这个尺寸的图像并不能提供更精细的 sculpty 模型。而在 SL 中实际显示则是约为 32x32(正常显示,不同缝合模式数字略有不同)和 16x16(LOD显示)。另外,当你的sculpty的长宽高很大的不等比的时候(如一根长棍),你可以改变map的长宽比,如128x32,以保证较长轴上的模型精度。

【sculpty map 的 UV】
我不会解释什么是UV(我也不会解释)。sculpty map 是一张 2D 图像,因此就有一个二维的方形网格状UV。它决定了两点:

1. sculpty 类型(UV缝合类型):球、圆柱(最常用的两个)、平面、圆环等。它们的 UV 缝合方式不同。
2. 贴图UV。SL 本就不支持自定的UVW贴图,而 sculpty 的贴图方式也只能使用默认的UV和平面映射方式,而后者使用面很狭窄,几乎不用。

因此在建模的时候,为了今后制作贴图的便利,尽量让坐标网格分布均匀。否则很容易产生贴图拉伸等贴图不健康的情况。


【sculpty 建模】
sculptypaint 是一款根据 sculpty map 的原理建模的免费软件,制作一些简单结构的物件,它是一个不错的选择。

但对于更加复杂的模型,传统建模软件使用起来则更加得心应手。目前各种主流建模软件都有相应的 plugin 导出 sculpty map。但建模的方式也是非传统的曲线建模方式。

为了制作 sculpty map,建模方式非常局限:
1. 为了保证 UV 的完整,你必须在开始就选定好UV的缝合类型(球、圆柱、平面、圆环等)
2. 建模过程中你不能任意增加或减少点或面,你只能移动现有的点来“雕刻”出你需要的形状(这也是为什么叫做 sculpty 的原因)
3. 尽管如此,在这种不破坏UV结构的情况下,你可以无限次数的重建 UV。例如你可以从一个 4x4 的球体开始雕刻出物件的大体形状,然后增加网格重建UV(如4x6,8x8,直到16x16)以增添细节
4. 始终保证 UV 结构的完整

因为使用的是曲线建模方式,你所使用的工具也局限于此,外加只能移动现有的点,因此整个建模过程较之 polygon 建模痛苦很多(相对于较为复杂的模型)。曲线建模适合制作曲面,因此制作锐角则需要浪费一些UV网格。

【sculpty map 的导出和导入】
使用建模软件 export plugin。值得注意的是,你制作的模型的长宽高比例并不一定能够完全使用 sculpty map 的所有空间,因此输出的时候一般都会有“充满空间”的选项可选以有效利用 map 的全部空间以最大程度上保留模型的精度。在这种情况下,模型的输出比例则会改变。在这种情况下,导入到 SL 的 sculpty 的比例也会与原模型不符,必须使用三轴的比例信息手工还原物件的实际比例。

原则上“充满空间”是实用有效的功能,一般情况下都推荐使用。但某些特殊情况下,如你需要使用大于 10m 超出SL尺寸限制的 sculpty,你就需要关闭这个功能,以损失细节的代价来保证模型的输出比例。在 SL 中用 mega prim 来实现超过10m的sculpty。(原因:mega prim 不能修改尺寸)

在 SL 中使用 sculpty map 时要注意使用相应的类型(球、圆柱、平面等)。如果左右相反或法线相反,使用 mirrow 或 inside out 来纠正或达到所需效果。


关于 sculpty 的基本大体就是这样了

之后的章节会以 Maya 为工具平台,举例具体如何制作 sculpty。
1

评分人数

sculpty 在 SL 中的 polygon 数量仍是可观的,请尽量经济有效地使用它们:如果仅仅是简单的或基本的形状,请使用较小的 sculpty map

[ 本帖最后由 Adiya 于 2008-12-24 06:12 编辑 ]
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

TOP

教程很棒
昨天啃V-ray中,不知道为什么我bake出的贴图是纯黑的

TOP

我 bake 了一晚上,但那个 sculpty 布线不均匀,就是bake不出能用的效果

TOP

有几个问题请教:
1、不是说更大的图片尺寸也不能提供精度么?为什么128x32就可以保证较长轴上的模型精度?
2、如何快速的重建UV?

TOP

原帖由 高二 于 2008-12-24 15:19 发表
有几个问题请教:
1、不是说更大的图片尺寸也不能提供精度么?为什么128x32就可以保证较长轴上的模型精度?
2、如何快速的重建UV?


1. 根据 SL 的算法,是将 64x64 的 map 转换成相应的 polygon 模型。polygon 模型的 poly count 是恒定的,所谓限制。64x64 和 128x32 的 poly count 相等,因此 map 上的每一个坐标点仍然有效。

2. 如果使用 maya,在 surface 工具栏中,edit surface - rebuild surface,然后分别重新设定 U 和 V 数值。

TOP

谢谢 了解了很多不明白的问题

TOP

谢谢,谢谢Adiya的解释。
不过我总觉得map尺寸应该不会影响polyon的结构。但我也没试验。所以确实不清楚。

TOP

原帖由 高二 于 2008-12-25 16:20 发表
谢谢,谢谢Adiya的解释。
不过我总觉得map尺寸应该不会影响polyon的结构。但我也没试验。所以确实不清楚。

是会影响的,做长轴细节的时候合理地决定输出比例会受益匪浅。当然如果你的细节还不够标准尺寸来表现的话,那自然无所谓了。另外一个要考虑的问题是 UV 网格的均匀分布,这对贴图至关重要。在同样条件下的一个长条无题,128x32  长轴上的贴图拉伸情况要比 64x64 好上一倍,以次类推。

TOP

再詳細一點吧 , 我也不懂 , 我是用wings3d  + 那幾個日本人做的小工具 , 做的時候都用32*31(點) , output 成128*128(pixel)的圖 (因為SL upload 128*128 或以下的圖可以用 lossless compression)

順帶一提是你另一篇說沒alpha channel , 其實加入alpha channel 後把整張圖變全透明的話 , upload 到SL 後形狀不會變 , 唯一不同是就算別人能edit 你的東西 , 在 build 的window 裡面也不會看到你的sculpt map , 不然用snapshot 的方法可以偷到

TOP

方便的话……能不能发一张128x32的长圆柱作为参考?

TOP

原帖由 hotakyi 于 2008-12-25 19:19 发表
再詳細一點吧 , 我也不懂 , 我是用wings3d  + 那幾個日本人做的小工具 , 做的時候都用32*31(點) , output 成128*128(pixel)的圖 (因為SL upload 128*128 或以下的圖可以用 lossless compression)

順帶一提是你另一 ...

回头我做个建模实例图文教程,等我过完节之后 -_-
wings3d 我都不知道用起来怎么样呢。其实对于一般人来说困难的还是建模工具的选择,因为一般人使用习惯了一个工具就懒得再更换了。所以真正实用的,能够在这里分享的还是一些软性的技术。
alpha通道这个我还真不知道,以后可以利用一下。

TOP

原帖由 高二 于 2008-12-25 19:40 发表
方便的话……能不能发一张128x32的长圆柱作为参考?

光是圆柱,没有细节的话,128x32的输出根本没有实际意义

TOP

主要是为了确定可以这种方法可行,然后还可以顺便在这个基础上做东西……

[ 本帖最后由 高二 于 2008-12-30 10:09 编辑 ]

TOP

原帖由 高二 于 2008-12-30 10:03 发表
主要是为了确定可以这种方法可行,然后还可以顺便在这个基础上做东西……

自己做些实验呗
都说了这种方法可行了
你试着做一个 32x8 (或者 64x16)的带多重弯曲细节的cable,然后分别按照 128x32 导出(注意UV方向,否则需要 32x128导出)和 64x64 导入SL,对比弯曲部分的poly数,结果很明显:
横轴上,前者弯曲使用了更多的poly;后者则少了一倍的poly数;
纵轴上:与上述相反。但是像 cable 截面这样的部分,低一倍poly效果并不明显

TOP

不好意思3D基础很差,不会做……
另外想问一下,你提到poly数量恒定,其数量是不是32x32?SL里面的各个方向面数是否是取决于贴图的尺寸?比如长宽比1:1时就解释为32x32。而贴图长宽比为1:4时就变成16x64?

[ 本帖最后由 高二 于 2008-12-30 14:27 编辑 ]

TOP

原帖由 高二 于 2008-12-30 14:26 发表
不好意思3D基础很差,不会做……
另外想问一下,你提到poly数量恒定,其数量是不是32x32?SL里面的各个方向面数是否是取决于贴图的尺寸?比如长宽比1:1时就解释为32x32。而贴图长宽比为1:4时就变成16x64? ...

32x32 应该是顶点数,并不是 poly 或 tri 数。但我觉得输入到 SL 中显示的最高数量可能不止 32x32
根据 sculptie map 的原理,上面的每一个点,就是sculptie的一个顶点,由map上的RGB分别来记录xyz坐标信息。
而 sculptie 的3D图形其实就是由一个二维 UV 平面起始的。
例如类型是球的 sculptie,你就想象成将平面先卷成一个筒,然后底面边和顶面边各顶点聚拢成一点,形成两个极点,然后中间截面依次递增,逐而成为一个球体。如果你起始的 UV 是32x32,那么这个球的实际经纬就是31x32(维度包含两极点)。输出map按照 32x32,那么每一个UV顶点就是实际记录的sculptie 的顶点;如果按照 64x64 输出,那么每两个 UV 顶点中间会生成一个新的顶点来输出(NURB曲线计算)。

TOP

非常感谢~按照你说的最后这段,我是这么理解的:
按照更大分辨率输出,可以生成更多的顶点。
但这会不会和”poly count 恒定“有矛盾?

TOP

原帖由 高二 于 2008-12-30 16:20 发表
非常感谢~按照你说的最后这段,我是这么理解的:
按照更大分辨率输出,可以生成更多的顶点。
但这会不会和”poly count 恒定“有矛盾?

但SL系统支持是有上限的
你生成一个 512x512 的map,SL拿来还是用64x64(或32x32,我也不知道具体上限是哪个)个顶点

TOP

我认为无论贴图是64x64,128x128,256x256还是512x512。其实都是32x32个顶点。贴图的尺寸不会改变什么。
所以你提到简单形状用小贴图、特殊尺寸提供那个方向的额外精度我觉得不对。

TOP

返回列表