ssRender引擎有关3D功能的归纳总结

引言

3D是ssRender引擎1.5版本所新增的特性,可以帮助大家快速上手理解ssRender 3D功能,包括3D节点的创建、各个属性详解、外部模型的导入,3D节点的缩放、3D视角的转换等等。。。之前也写过一篇关于2D仪表开发教程(ssRender1.4.5版本使用理解),若对本篇文章感兴趣,想了解的同学,也可以看看本人之前写过的这篇文章(快速跳转)

一:3D节点详解

首先我们要在工程项目的Page下创建Layer节点,Layer节点下创建Scene场景节点,Scene场景节点使我们实现3D功能的重要依托节点,下面将会详细介绍Scene节点及其子节点各个功能及属性(通用属性部分在上一篇文章有过详细介绍,以下不再赘述)

(一)Scene节点:

1.FPS属性,控制了Scene节点内部其他节点的每秒刷新帧数,可以在多个3D场景下,设置不同场景的刷新率,将没有动画效果的或是不重要的3D场景设置低刷新率,能够有效提高整体画面的流畅程度以及渲染效率。

2.MSAA属性(Multisample Anti-Aliasing 多重采样抗锯齿):可以对多个采样点的颜色进行混合,以达到消除锯齿的目的,最小值为0,最大值为32,默认值为4,当值越大时抗锯齿效果越明显

选中Scene节点下的任意节点,再点击右侧的小摄像头按钮(如上图),即可进入3D场景的预览编辑界面(如下图),可在编辑界面选中其他节点、拖拽改变节点位置

说明:

如图,其中红色坐标轴代表X轴,绿色坐标轴代表Y轴,蓝色坐标轴代表Z

(二)Camera节点:

Camera节点是创建Scene节点时自动创建的节点,无法被删除,同Scene节点销毁时自动删除。

Camera节点在3D预览编辑界面是以小相机的模型出现,它代表着观察视角,模拟人眼观察到3D场景的情形,可以通过改变Camera的大小、位置、视角等属性来改变3D元素在Scene场景中的显示效果。

如上图所示

1.FOV属性(Field of View视野):最小值0,最大值180,默认值90,数值越大代表视野离3D模型越近,当值为180时,模型几乎不可见

2.Z_NearCamera到物体最近平面的距离。最小值0,最大值1000,默认值1。值为0时,不显示Camer能见的物体,即不显示3D模型;大于等于1,显示Camera能见的模型,即显示3D模型;大于41.00,不显示3D模型。

3.Z_Far:Camera到物体最远平面的距离。最小值500,最大值1000,默认值500。

4.LookAt_X、LookAt_Y、LookAt_Z:视角转动角度,根据不同坐标轴进行仰视俯视转换

5.P_XP_YP_Z(Position of 坐标轴):Camera在不同坐标轴的实际位置。范围:-65535.00~65535.00。精度,0.01,默认值如上图所示。

6.R_XR_YR_Z(Rotation of 坐标轴):Camera绕不同坐标轴旋转角度,范围同上,默认值如图。

(三)Light节点

Light节点同Camera节点,是创建Scene节点时自动创建的节点,无法被删除,同Scene节点销毁时自动删除。

Light光源节点,在3D场景的预览编辑界面,鼠标点击不同坐标轴可以进行拖拽,改变Light的P_X、P_Y、P_Z属性

Intensity属性控制发光强度,Color控制灯光颜色,3D模型反射光的颜色也会跟着Light的Color进行变化(如下图)。

(四)Node节点

Node节点同Item节点类似,但是并没有实际效果展示,在3D场景下,与在2D场景中的Item部分效果类似。Node节点时Scene节点下允许自行创建的节点,用于组织场景的结构,可以挂载其他节点作为容器节点。(如图)

(五)Mesh节点

Mesh节点是3D模型的基本元素。通常情况下,Mesh节点用于表示具体的3D模型对象,例如汽车、人物、建筑等。每个Mesh节点都可以拥有自己的材质,以定义模型的外观和表面特性。

那么我们如何导入3D模型呢?

首先在模型页面点击新增模型,添加提前准本好的.obj文件。

右键Layer节点新增Mesh节点

点击file按钮,在本工程对应的文件目录下找到Model文件夹添加file

就能将目标3D模型导入到场景中啦!

然后,选中3D模型所在的Mesh节点,再点击Source添加纹理图片:

当当当当!一个有纹理的3D模型就加载到我们的3D场景中了!

在适当调整Camera和Light的位置与角度,就能得到最终效果啦:

(六)Cube节点

Cube节点是一个具有六个相等正方形面的规则正方体,可在Scene节点下手动创建。

如图,新建的Cube节点(更改了Color属性为黑灰色)

将材质窗口中的SSR_CubeMap材质拖拽到刚刚新建的Cube节点上,就能设计Cube节点的纹理显示效果了

选择合适的纹理贴图,放在ssBaseTexture属性中(用于控制Cube正方体的所有面的基础纹理

就能得到一个带有纹理的正方体啦(如下图)

而SSR_CubeMap内置的其他属性Cube_rightCube_leftCube_topCube_bottomCube_frontCube_back分别控制正方体的右边、左边、顶部、底部、前方及后方的侧面贴图材质。

(Tips)

ssRender引擎内置了四种不同的材质:SSR_Base3DSSR_PBRSSR_CarPaintSSR_CubeMap。四种材质各有不同:

SSR_Base3D一般在无光照干扰情况下使用(Light的参数不会影响此材质),支持工具自带的材质颜色与目标纹理贴图相融合。

SSR_PBRPBR——Physically Based Rendering)基于物理渲染的材质系统,用于模拟现实中的材质。提供粗糙度、金属度、反射率、环境光遮挡等具有物理意义的材质参数来控制渲染效果。

车身材质一般会使用SSR_CarPaint,因为它可以更好地模拟亮面车漆的材质,以及外观展示。同时还能根据环境光展示光反射、光折射及光吸收的逼真效果。

SSR_CubeMap用于立方体贴图来捕捉环境的反射,包括周围物体和景观的反射信息。通过将这些反射信息应用到物体表面,可以增强渲染结果的真实感和逼真度。

(七)Billboard节点

Billboard节点是一个面向摄像机的平面几何体。用于模拟在三维场景中的二维对象。Billboard节点始终面向相机,因此无论相机如何移动,它都会始终保持朝向相机。

下面来一个小例子,就能让很好的理解:

看上图,将加载了灌木纹理的Billboard显示在3D场景中,无论我们怎样拖动视角,灌木丛的正面总会朝向我们。

在加载纵轴(R_Y)绑定后,让Billboard实现自旋转效果时,发现灌木丛的视角同样不会改变!

下面我们通过几个小例子来快速掌握3D节点的使用:

二:3D节点应用

(一)视角变换的摩托

首先将我们准备的摩托车3D模型载入到模型资源窗口下

通过设置摩托车模型的S_X,S_Y,S_Z,将它在3D场景下的大小调成与Camera大小一致(不强求,近大远小,比例适中即可)(效果如下图)

此时,我们可以令此Node节点的R_Y属性自增,就可以达到让摩托车原地旋转的效果(如下图)

再新建一个plane节点,拖拽纹理资源到plane节点的Source属性上,模拟信号(效果如下图)

设置Timer(第一篇文章有讲过Timer的用法):每秒显隐一次(效果如下图)

设置属性,通过不同的属性值与相机Camera的位置、角度、视角等参数进行binding绑定,切换属性值时就能完成从平视,到后视,再到远视的效果啦!(如下图)

(二)绕着星球飞行的火箭

第二个小实例也很简单

同第一个实例,我们要引入星球和火箭的Model,再将白色的线权纹理拖拽到plane上

得到效果如下

注意层级关系,更改plane的大小和火箭的P_X值,让火箭落在白色线圈上。

通过自增火箭节点的上一层Node节点的R_Y属性,即可实现火箭围绕星球旋转效果。

再自增星球所在节点的R_y属性,即可实现星球的自转效果(如下图):

同第一个实例,设置属性值进行binding,可以实现切换视角效果(如下图):

小结:本篇文章是本人在使用ssRenderEdit工具中的Scene 3D节点内容时的学习理解,并且实现了两个简单的小例子,接下来本人会继续分享对ssRender引擎其他的学习理解,并且会继续深度探索ssRenderEdit工具其他实用功能!若是感兴趣,还请持续关注哦!

  • 28
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值