当前位置: 首页 > 科技观察

上百个HTML5实例学习HT图形组件-3D建模篇

时间:2023-03-12 05:14:32 科技观察

http://www.hightopo.com/demo/...《数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇》很多时候提到HT,没有使用3DsMax和Blender等专业3D建模工具也可以制作很多效果,比如http://www.hightopo.com/guide...这个3D电信机房监控例子是通过HT提供的API构建的:但是这个例子中的模型比较规整,那就是,消防栓是由球+tact组成的,其他的图形可以通过HT提供的基本Node和Shape对象来完成:但这并不意味着API只能制作简单的模型,在《HT for Web 建模手册》中有介绍HT建模插件可以让想象力丰富的同学做出各种不可思议的效果。比如这个餐椅的例子:http://www.hightopo.com/guide...很多人都对这个餐椅的例子很好奇,尤其是一些不规则的花盆,酒杯,圣诞树还有那个爱心heart我们是怎么做到的。其实很简单,只需要使用《HT for Web 建模手册》中的createRingModel和createExtrusionModel这两个函数来搭建模型即可,其中createRingModel顾名思义就是用来围绕一个圆圈搭建环形模型,createExtrusionModel用来搭建基于特定形状的凸效果。这两个函数生成的3D模型来源于平面2D图形,由HT系统中构造2D不规则多边形时使用的两个数组参数Points和Segments决定。Points和Segments的含义请参考《HT for Web 形状手册》:可以生成不规则的3D地板:http://www.hightopo.com/guide...可以生成不规则的3D管道:http://www.hightopo.com/guide...所以大家应该明白原理我都明白了,但是餐椅的魔法参数不规则形状怎么获取呢?这个还是需要辅助工具的帮助:http://www.hightopo.com/demo/...,这个工具用了很多年了,随便写个例子。代码非常简单。你可以看看http://www.hightopo.com/demo/...源码很简单,但是很实用。如何导出?自己打开console,把shape对象的sements和points参数打印出来就好了,或者有时间再写个更完整的导入导出的例子,要不你能up吗?其实它不仅仅是用来建模Node节点类型的对象,其实也可以用一个模型来做连接,比如http://www.hightopo.com/guide...这个3D弹性拓扑图例子,很多人已经觉得很酷了,但我一直对这种刻板规整的很感兴趣。管道连接很不爽,心血来潮想出了两头粗中间细的狗骨头连接效果。整个3D拓扑例子一下子高大上很多:http://www.hightopo.com/demo/...这个例子的原理是这样的。将连线的边设置为透明不可见,然后每条Edge对应一个Node节点。此节点的形状被拉伸并定位在连接而不是连接的位置。显示,Nodegraph在未拉伸之前是这样的:这里还有一个细节是通过createMatrix函数为每条pipeline设置一个矩阵位置指向两个节点的位置不懂matrixbudget也没关系,照着例子里的代码照搬就行了。为了方便大家,我做了一个更简单的两节点一连接的例子供大家参考:《HT for Web 建模手册》里面有很多API函数。只要有想象力,就可以创造出无数的花样。以后有空我会用HTforWeb的WebGL3D自定义建模功能做更多实用的例子。http://www.hightopo.com/demo/…