免费咨询热线

13621929115
新闻动态
您的位置: 主页 > 新闻动态

我想编写一个展示3d模型的软件,用什么编程好?

发布日期:2023-02-16 02:14浏览次数:

实时渲染和keyshot的离线渲染效果是不一样的。

Keyshot给到你的预设材质很丰富,但无论是在unity环境还是WebGL环境下,预设材料都没有那么丰富。

另外实时渲染对模型的要求和在Keyshot环境下不同。

还有keyshot的渲染的光线处理和实时渲染环境下也有不同。

在这个情况下,有几种可行的思路。

1.用Keyshot的360渲染模式输出,零编程(almost)

keyshot在该模式下可以输出36或更多张从不同视角渲染的图片,并生成一个HTML文件,这个网页发布在网站上就可以直接给客户看360度的视角,而且是比较精致的渲染输出效果。

这里有详细介绍:

优势:在你现有的workflow中,只需要研究清楚keyshot输出方式和了解网页上传到服务器的操作就可以完成展示,甚至如果不需要发布,在本地就可以看。

劣势:没有办法对特定局部进行放大(其实可以放大,但只是把照片放大了一些),而且可观看视角就是前面的36张图的视角,没办法自选。

2.使用Unity,用C#

Unity通常是用来做游戏的,但做产品3D实时渲染的展示也是ok的,操作起来应该不复杂。在Unity环境下,做产品展示,只需要处理两个部分,一个是control,一个是shader。control是指对模型方向(或者说相机方向)的控制和拖拽,如果需要放大缩小就需要这个功能,这部分应该能找到现成的开源代码实现。另外Shader主要解决的是渲染的问题,这个要看你所展示的产品是什么类型的,如果是镜面/高反光的表面,相对来讲会好处理一些,如果是keyshot中使用比较多塑料的材质,也会有比较标准的材质可供使用,但可能会遇到一些特殊的材质,这时候就需要对shader进行编写。

优势:Unity帮你完成的大部分工作,真正需要写的代码不多,更多只是搬运现成的代码,并熟悉Unity的使用,这个对熟悉3D软件的人来说相对会容易一些。

劣势:对某些特殊材质的处理可能会比较麻烦,因为毕竟做产品展示是对材质作出好的表现。如果真的牵扯到shader的编写,这个方式就不是很理想了。如果处理的不好,模型看起来会很失真。

3.使用WebGL/Threejs,主要用Javascript,HTML和CSS

WebGL是可以在网页上直接展示3D模型的渲染框架,简单的说就是你可以把你做好的模型直接发布在网上,你的客户或者观众可以通过一个网页链接看到一个可以互动的实时渲染3D网页。Threejs是在WebGL基础上很常用的一个库,这个库里面有一些现成的环境是可以帮助你做产品展示的。

案例

优势:发布在网站,不需要下载专门软件也可以进行展示。并且因为是网页,所以它是跨平台的,一个网页做好,手机电脑平板都可以看。

劣势:如果是非常复杂的模型,下载时间会很久,渲染压力会比较大,机器会很卡。与Unity类似,这种方式都需要对模型做比较多的优化处理,主要是要把曲面进行减面处理,你在Rhino下,输出模型的时候,输出OBJ格式,这个时候会有选项是面数的压缩,你可以试试看自动的减面效果。(这里有个概念是,Rhino处理的模型都是Nurbs模型,而一般Unity和WebGL下用到实时渲染的都是Mesh模型,两个格式对模型的描述不一样,有点类似AI的矢量图和PS下的位图bitmap的区别,Nurbs模型类似矢量图,Mesh模型更类似位图bitmap)

标签:

产品推荐

Copyright © 2002-2020 上海润之模型设计有限公司 版权所有 展示模型,展品模型,展厅模型,展示道具,展厅展品,展品道具,模型定制,模型公司,上海模型公司 备案号:沪ICP备20018260号

13621929115