灯光需求

类似刺客信条的开场CG动画,场景中打着酷炫的灯光,玩家在场景中行走可以感受到灯光很真实。

参考视频:http://www.iqiyi.com/w_19rqytbmvt.html

运行环境

安卓/IOS手机平台,所以对性能有一定要求。

初期原型

思路分析

1.引擎自带灯光组件,变换颜色,变换transform

2.lineRenderer画线组件,模拟灯光效果,linerenderer打到人物身上效果逼真么?

3.Mesh+shader或者粒子系统进行模拟

light beam/shaft

光束,光线

volumetric lighting(体积照明)

森林场景 巴克兔子,显示光线穿过树冠 [图片引用自:wikipedia]

体积照明

体积照明技术中使用 三维计算机图形学添加照明影响渲染场景。它可以让观众看到光束照射环境;通过一个开着的窗户看到阳光流体积的一个例子,也被称为黄昏的光线。这个词似乎已经被引进摄影,现在广泛应用于3D建模和rendering 尤其是在3d游戏领域。

体积照明的光源发出的光锥被建模为一个透明的对象,可以看作一个容器的“体积”。因此,光有能力影响一个实际的三维介质(如雾,灰尘,烟或蒸汽)在它的体积内就像在现实世界一样。

体积照明是如何工作的

体积照明需要两个组件:一个光空间阴影地图和一个深度缓冲。从相机的剪辑平面附近开始,整个场景是追踪和采样值累积到输入缓冲区。对于每一个样本,它决定如果样品由光源照亮正在处理使用阴影映射作为比较。只有点燃样品将会影响最终的像素颜色。

这个基本的技术,但需要更多的实时优化功能。优化体积光效果的方法之一是使照明体积比这更粗分辨率的图形上下文使用,这就产生了一些不好的混叠的工作,但是很容易touched up一个模糊。

您还可以使用模板缓冲区像 阴影体积技术

另一种方法也可以用来提供令人满意的,如果体积灯光效果不准确。模糊的算法功能发光物体远离中心的主要光源。一般来说,透明度是逐步减少与每一个模糊的步骤。特别是在更明亮的场景。注意:这需要在屏幕上有个光源。

volumetric light英文

volumetric light:https://en.wikipedia.org/wiki/Volumetric_lighting

light Probe

插件-Light Beams

主要功能

可以控制光fade的长度,光束强度,光的softness,纹理移动速度。单双面材质(shader model 3.0以上版本)

原理

Mesh (圆锥形或者bill飞机形)+ shader 控制纹理的参数模拟光束(Mesh不接受光照)

链接:https://www.assetstore.unity3d.com/en/#!/content/49640

可调节参数

可借鉴例子

暗影之枪

Unity实现刺客信条灯光的思路探究的更多相关文章

  1. Unity实现c#热更新方案探究(三)

    转载请标明出处:http://www.cnblogs.com/zblade/ 前面两篇文章从头到尾讲解了C#热更新的一些方案,从程序域来加载和卸载DLL,到使用ILRuntime来实现安卓和IOS平台 ...

  2. Unity实现c#热更新方案探究(二)

    转载请标明出处:http://www.cnblogs.com/zblade/ 一.IOS对DLL热更新的禁止 紧接上文,继续对C#热更新的研究.上文中,已经说了如何基于appDomain来实现对DLL ...

  3. Unity实现c#热更新方案探究(一)

    转载请标明出处:http://www.cnblogs.com/zblade/ 最近研究了一下如何在unity中实现c#的热更新,对于整个DLL热更新的过程和方案有一个初步的了解,这儿就写下来,便于后续 ...

  4. Unity的赛车游戏实现思路

    unity目前版本实现赛车的技术方案主要有3种: 1.wheelCollider,设置motorTorque.brakeTorque.steerAngle来实现车子的推动和转弯,优点是上手简单,而且很 ...

  5. Unity 消消乐开发思路

    以简单的方式讲述游戏开发思路,暂时没有实践,如有错误,欢迎各位大佬指错 关卡数据保存方式 数据保存我选用json,可读性强,解析快 消消乐物体处理方式 消消乐物体我将以预制体的方式使用(把物品拖到As ...

  6. Unity编译Android的原理解析和apk打包分析

    作者介绍:张坤 最近由于想在Scene的脚本组件中,调用Android的Activity的相关接口,就需要弄明白Scene和Activity的实际对应关系,并对Unity调用Android的部分原理进 ...

  7. Unity塔防游戏开发

    Unity3D塔防开发流程 配置环境及场景搭建编程语言:C#,略懂些许设计模式,如果不了解设计模式,BUG More开发工具:Unity3D编辑器.Visual Studio编译器开发建议:了解Uni ...

  8. Unity光照与渲染设置学习笔记

    学习了一下unity中有关光照和渲染的一些设置,现在才明白之前遇到的一些问题只是没有正确设置而已. unity不同版本的光照设置会有一些差异,而且可以调节的参数非常多,这里只记录一些重要的参数和使用方 ...

  9. Unity核心对象模型

    总结的Unity引擎部分的核心对象模型类图,供大家学习时参考,根基类为Object,下一层包括核心基类GameObject,及其他作为资源的Mesh,Material,Shader,Texture,S ...

随机推荐

  1. [deviceone开发]-UI组件的动画示例

    一.简介 自定义组件模版(头部,按钮,加减数量,加载,底部弹出,开关(文字/无文字),选项卡(2-4), radio)全部带自定义动画效果,需从组件商店中添加:do_Animator组件 二.效果图 ...

  2. javascript 函数初探 (六)--- 闭包初探#1

    首先我们来看一个函数: var a = 'global variable'; var F = function(){ var b = 'local variable'; var N = functio ...

  3. 一个类似backbone路由的纯净route ( 前端路由 客户端路由 backbone路由 )

    大家用backbone.angular,可能都习惯了内置的路由,这两个框架的路由都是非常优秀的,强大而简单. 客户端(浏览器)路由原理其实比较简单,其实就是监听hash的变化. 在之前的架构探讨中,说 ...

  4. 安装 Ubuntu 后的个人常用配置

    在 ASA 猪队友的带领下,拥抱开源世界,用上了Ubuntu.资深强迫症现身说法,配置符合自己使用习惯的Ubuntu. 1. 窗口标题栏显示菜单项 打开系统设置->外观->行为,在[显示窗 ...

  5. HTML动画分类 HTML5动画 SVG库 SVG工具 Canvas动画工具

     1.js配合传统css属性控制,可以使用setTimeout或者高级的requestAnimationFrame 2.css3 3.svg 4.canvas(当然,这个还是要配合js)   也许这么 ...

  6. SharePoint基于windows验证的如何通过组策略实现IE自动以当前域账号登录SP站点

    通过组策略实现IE自动以当前域账号登录SP站点 1. 在运行中运行MMC,启动"组策略对象编辑器". 如下图: 找到组策略如下图: 找到域 点右键编辑 找到如下图: 找到[计算机配 ...

  7. C4.5(决策树)

    C4.5是一系列用在机器学习和数据挖掘的分类问题中的算法.它的目标是监督学习:给定一个数据集,其中的每一个元组都能用一组属性值来描述,每一个元组属于一个互斥的类别中的某一类.C4.5的目标是通过学习, ...

  8. vncserver安装

    我的环境是centos6.5,如果没有安装桌面,先执行: # yum groupinstall "X Window System" "Desktop" # yu ...

  9. 使用Reaver对WPS加密网络进行暴力破解

    WPS状态探测 探测开启了WPS功能的AP,WPS Locked状态为NO的表示开启了WPS功能. wash -i wlan0mon PIN码获取 reaver -i wlan0mon -b MAC地 ...

  10. 给view添加类似系统上拉快捷菜单的手势

    iOS7以后从屏幕最下方上划会滑出快捷菜单,感觉这个效果不错,就想做个类似的效果,这个东西技术含量不高,每次都写一遍的话就太浪费时间了,所以就把它写成了一个分类,用起来会方便一点. demo地址:ht ...