2017-07-29 18:27:44 u012706436 阅读数 2850
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

  Unity可以说是应用广泛,功能全面的一个游戏引擎。在建筑可视化、三维模型展示等方面能够快速开发;有着不错的性能与效果。但是其渲染效果却有一定局限。

这里写图片描述

 VRay则是在图形图像渲染领域有非常卓越的表现,有自己定义的材质灯光;渲染图片能够达到照片级别,VRay插件支持众多3D建模工具,比如3dmax、skecthup、autocad等主流建模工具。

 BUT BUT BUT BUT BUT BUT BUT BUT BUT

 VRay并不支持像Unity和UE4等一系列游戏引擎,好像游戏引擎多半也不需要VRay的支持。多数游戏引擎都有较好的渲染效果,其重点也不在能否得到照片级别的渲染效果。
 可是为了结合游戏引擎的可编程性以及VRay的渲染效果, We better do something。

 实际上我们已经做了很多工作,我们已经能自己根据Unity程序设计的场景,在VRay渲染器中重现。

这里写图片描述

为了实现这个转换过程我们做的工作大概有下列内容:

  1. 要自己能完全控制VRay渲染设置参数以及灯光参数
  2. 要能通过Unity的设计添加模型到VRay场景
  3. 将fbx模型制作成VRay模型
  4. 解析VRay模型、添加到unity设计的场景中
  5. 对Unity、3Dmax进行坐标系转换统一
  6. 甚至你想对模型换贴图都可以

上面的效果图呢,放置模型的数据就如下面的json格式

"models": [
        {
            "name": "aolk_hbkq",
            "renderTransform": {
                "position": {
                    "x": -0.290327072,
                    "y": 0.2,
                    "z": -3.05281746
                },
                "rotation": {
                    "x": -90,
                    "y": 30,
                    "z": 0
                },
                "scale": {
                    "x": 1.5,
                    "y": 1.5,
                    "z": 1.5
                }
            },
            "textureName": null,
            "texturePath": null,
            "vrscenePath": "/vrscene/",
            "polyList": null
        }
    ],
2015-07-09 13:51:30 yangyisen0713 阅读数 1487
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

大部分的游戏都是支持几种不同形态的阴影表现影,在Unity里面的最常采用的是烘培 + 实时阴影的搭配,烘培的方式可以在3d软件里面完成,也可以导入模型后在Unity里面进行,有朋友问,如果用vray烘培与Unity内建的烘培来比较是哪一个较优?

以效果来说VRay是略胜一筹,毕竟VRay在渲染参数的设置上有决定的优势,加上在3dsmax里面即可预览烘培的结果,目前还是有许多的公司采用预先烘培的方式,再将场景导入Unity进行后续的处理工作。

烘培的物件基本上都是静止的物件,也就是场景内的建筑,道路与固定位置的模型都可用来进行烘培,在进行烘培前,我们需要确认一些事情:

首先是烘培的物件必须是Static的模式,也就是静止的状态,在Inspector的右上方可以找到Static的勾选项,这个操作可单一进行,也可以选多个物件后勾选。

1.png 


接着是模型导入后,必须勾选Generate Lightmap UVs这个选项才能让模型具备烘培的贴图设置,同样的这个操作也可以在Project目录里面选择多个物件后一次进行。

2.png 


使用Window > Lightmapping打开烘培设置面板,以上的事项是我们必须特别注意的:

3.png 


1. 在一般情况下用Single Lightmap已经足以应付场景的需求,Dual Lightmap的效果会更为理想,不过需要搭配deferred rendering来使用。

2. 选择High Quality进行烘培,如果使用Low的设置将会产生锯齿状的边缘。

3. Final Gather Rays默认为1000,将这个设置控制在150-200即可,过高的设置将会使烘培时间变得很漫长。

4. 打开 Ambient Occlusion 的设置可以让模型的角落产生较为黑暗的效果,将distance设置为0.1以侦测遮挡,这个设置可以让游戏场景看起来更为真实。

5. 如果烘培只是作为测试预览,那么先将Texels per world unit的设置调整为3-5的范围,正式烘培时则是将数值设置为40或是50。

5.png 


烘培前可以在视图内勾选Show Resolution来确认品质,如图所示,灰白方块的密度越高,烘培出来的效果越好。

4.png 


按下Bake Scene开始进行烘培,硬件越好则烘培速度越快,烘培完成后,系统会自动将模型更换为烘培的效果显示,这时关闭场景的灯光已经不会对场景造成任何影响。

8.png 


此外论坛也提供了额外的烘培插件给大家试用:
Lightmap Manager 2.5 - 场景烘培神器
http://www.narkii.com/club/thread-287853-1.html

Lightmapping Extended - 烘培器的延伸功能
https://www.assetstore.unity3d.com/#/content/6071

有朋友问到的一种情况是,如果事先用3dsMax或是maya进行了烘培效果,导入Unity就不需再烘培处理了吧? 答案是肯定的,如果事先烘培了场景,直接导入Unityj即可。

另外一种情况是,烘培后的场景没问题了,但是要添加可移动的物体,例如车辆与人物,那这些模型如何设置?用实时的灯光还是用其他的方式来产生阴影? 因为这些模型是不能烘培的,所以我们就需要使用一点小技巧了,在后面的教程里面将会介绍到这个部分。
没有更多推荐了,返回首页