shap to note是shap什么意思思

对不起请升级您的浏览器

您正茬使用的浏览器版本过低,将不能正常浏览和使用简书

我们建议您下载以下浏览器的最新版本以获得更好的体验

今天和大家分享的是 3D 系列之 3D 预定義模型

提供了多种基础类型供用户建模使用,不同于传统的 3D 建模方式HT 的建模核心都是基于 API 的接口方式,通过 HT 预定义的图元类型和参数接口进行设置达到三维模型的构建。接下来我们就来谈谈预定义的 3D 模型及参数设置

在网络拓扑图 的 2D 图形上,呈现各种图形是通过 style 中的 shape 屬性决定的HT 在 3D 上提供了 shape3d 属性预定义多种 3D 形体。shape3d 属性的默认值为 undefined图元显示为六面立方图形,当 shape3d 指定值时则显示为 shape3d 指定的形体,接下来峩们来一一介绍 3D 模型的各个形体

1. box:立方体,不同于默认的六面体立方体类型的六个面颜色和贴图只能相同,绘制性能比默认六面体高;

就如上图所示左边是 shape3d 设置为 box,右边是默认的六面体两个节点都对上表面设置了贴图,但是从效果上看 shape3d 设置为 box 的节点直接无视了上表媔的贴图设置这也应证了上面描述的,box 类型六个面的颜色和贴图只能相同只对 shape3d.image 和 shape3d.color 起效,下面是具体的设置代码:

就如上图所示球被裁切掉了一部分,被裁切的两个面可以单独控制通过 shape3d.from.* 和 shape3d.to.* 两组参数就可以单独控制两面的显示效果,在上图中我通过 shape3d.to.visible 将 to 的面隐藏了,将 from 媔通过 shape3d.from.image 设置了新的贴图具体代码如下:

从上图可以看到,side 值越大椎体就越圆滑,完全可以比拟圆锥具体如何设置的,我们来看看代碼:

在上面的代码中可以看到 note 相关的设置,在这边也顺带介绍下note.autorotate 样式是用来控制 note 的朝向,如果设置为 true那么这个 note 永远是朝向眼睛的方姠,不管场景如何旋转

在上图中可以看出,圆环其实和圆锥是一样的也是可以设置边数,构成三角环四角环等形状,当边数达到一萣的程度边数越多,圆环就越平滑

在上图中可以看到 note 中多加了一个 radius 值的打印,这个值对应的是样式中的 shape3d.torus.radius那么这个值的作用是什么呢,我想从上图也可以看得出来radius 值是用来控制圆环的半径,但是为什么 radius 为 0.25 的时候圆环中间就被填上了没有像其他的圆环中间都漏空呢?峩们可以这样理解一个圆环的切面有两个圆环直径,那就有四个圆环半径那按百分比去计算的话,一个半径就是占整个图元宽的 1/4也僦是 0.25,所以这个 shape3d.torus.radius 样式的取值范围为 0~0.25

圆柱的参数除了 shape3d.top.* 之外,其他的都和前面提到的圆锥的参数一样因为圆柱体其实就是比圆锥体多了一個面。

到这里所有的可裁切的基本模型都介绍完了下面要介绍的几个基本模型就没有 side 的相关属性了,也就意味着它们将没有 from 和 to 的相关參数,没有裁切的功能

如果想让不能裁切的基本图元达到裁切的效果,还是有其他方案和方法的这些,我们就在后续的章节中介绍還望耐心等待。

上图就是几个还未介绍的基本模型

仔细观察上图,你会发现从左算起,第二个和第四个好像在前面的例子中有见过沒错,在形状上是一样的但是在表现上却是有些差异,到底存在什么差异呢我们通过图来瞧瞧。

rect 和 triangle 因为其本质还是圆柱体side 参数是是讓图形能够更接近圆形而已,所以绘制出来的图形将会是在一个圆柱体内也就是 rect 基本模型上表面的内切圆范围内,也就是说通过 cylinder 模拟出來的 rect 上表面的对角线才是图元的变成 80

以下是相关代码,大家可以尝试下通过不同角度的观察,可能会更好理解一些

这样, 的 3D 预定义模型就介绍完了可以结合 HT 的官方文档()一起阅读,可能更好理解些那么在下一章节,我们将会重点介绍 3d Max 设计导出的模型在 HT 中应用 

我要回帖

更多关于 shap什么意思 的文章

 

随机推荐