《全民无双》锁链刀光程序生成算法,即U3D——刀光轨迹插件的改进
《全民无双》手游12月17日上线登录APPSTore付费榜前十,首先特别恭喜还在《全民无双》坚持奋战的老同事们,顺便技术分享一下以前参与项目时的工作
锁链刀软武器刀光轨迹
之前在PC端的游戏中实现过轨迹,算法喜闻乐见,收集每帧的控制点,对其进行B样条插值,生成D3DTriStrip。
这两天刚刚接触U3D,美术给了一个轨迹的插件,要求我扩展脚本,支持锁链刀弯刀的刀光计算,暂且命名多控制点的轨迹。
算是U3D的第一个纯技术需求吧,记录一下。
新增加了一个脚本:Hello_MeleeWeaponTrail.cs,增加了多控制点编辑,调整使用了NewCatmullRom差值算法(使用线性和NewBezier效果不好)。
刀光的效果如下:
根据前东家的规范,写了一下方案的非功能性评估:
通过Unity的stat面板并未发现与之前性能明显的区别。
不过算法会动态生成TriangleMesh,控制点越多生成顶点和三角形数会增加,影响内存显存和显卡带宽填充。
空间:
内存
单个顶点position+uv+vcColor大约32字节。下表展示增加控制点增加的内存消耗。
控制点数量 |
2 |
3 |
n |
顶点数量 |
2X |
3X |
nX |
三角形数量 |
X |
2X |
(N-1)X |
显存:
顶点和索引会增加相应空间的显存。
时间:
CPU:与控制点数量的时间复杂度为O(n)。
GPU:随着顶点数量的增加,VS阶段带宽增加,绘制的三角形数量变多。
总体来讲,效率影响不是太大,场景中刀光数量不多的话,使用无大问题。
建议:
逻辑来控制刀光的Emit,即,只在挥刀的时候置成true,其他时候是false,再精致点就要用动画的时间控制刀光的显示和隐藏,比如只有当刀砍下时有刀光,抬起时没有刀光等。
代码放附件了,供参考吧。
http://files.cnblogs.com/files/hellohuan/U3D_trail.zip
游旺网络,诚聘英才,技术提高指日可待。
U3D实习、初级
上海 经验应届毕业生 本科及以上 全职
职位诱惑 : 程序实习生,入职培训专人陪带,快速成长
职位描述
实习生培训:
为期一个月的入职培训,培训期,专人培带,让员工快速融入团队和开发体系
职位描述 :
根据分配的工作,完成游戏客户端部分模块的开发;
根据需求开发制作游戏研发过程中所需要的一些开发工具;
与项目组策划、美术人员共同讨论开发需求及设计游戏实现细节;
任职要求 :
熟悉CSharp,C++,JAVA中至少一种计算机编程语言;
有Cocos2D-X、Unity3D开发经验者优先;
对工作认真负责,能够按时完成安排的工作;
团队协作能力强,具备一定的抗压能力;
对游戏编程有浓厚的兴趣,具有较强的学习分析能力,善于接受新技术;
专业不限,要有一定的逻辑思维,热爱互联网工作;
热爱游戏,热爱互联网,喜欢从事IT技术类工作;对游戏开发有兴趣;
学习能力强,工作热情高,富有责任感,在公司培训及工程师的指导下完成工作内容;
本岗位欢迎优秀应届毕业生前来应聘。(学习能力强者可宽松学历要求)
自由、公平、人性、关爱,是游旺对员工的态度。
★ 所有加入游旺的员工,入职即可享受国家规定的各种假期福利
★ 严格按照国家规定为员工缴纳各项社会保险
★ 入职即进入培训期,专人培带,让员工快速融入团队和开发体系.
《全民无双》锁链刀光程序生成算法,即U3D——刀光轨迹插件的改进的更多相关文章
- 秒懂算法1——冒泡排序,及一种小改进(C#实现)
算法思路: 重复走访每两个相邻元素,比较大小交换位置,直至排序完成. 有兴趣电话可以看一下这个[冒泡排序踢踏舞]的视频,很形象的演示了排序过程,额呵呵~~ 性质: 冒泡排序是一种原地排序(只有常数个元 ...
- <2014 05 09> Lucida:我的算法学习之路
[转载] 我的算法学习之路 关于 严格来说,本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口——况且CS中的算法往往暗指数据结构和算法(例如算法导论指的实际上是数据结构和算法导论),所以 ...
- MLlearning(2)——simHash算法
这篇文章主要讲simHash算法.这是一种LSH(Locality-Sensitive Hashing,局部敏感哈希)的简单实现.它是广泛用于数据去重的算法,可以用于相似网站.图片的检索.而且当两个样 ...
- ISP基本框架及算法介绍
什么是ISP,他的工作原理是怎样的? ISP是Image Signal Processor的缩写,全称是影像处理器.在相机成像的整个环节中,它负责接收感光元件(Sensor)的原始信号数据,可以理解为 ...
- 体绘制(Volume Rendering)概述之3:光线投射算法(Ray Casting)原理和注意要点(强烈推荐呀,讲的很好)
转自:http://blog.csdn.net/liu_lin_xm/article/details/4850609 摘抄“GPU Programming And Cg Language Primer ...
- GraphicsLab Project之辉光(Glare,Glow)效果 【转】
作者:i_dovelemon 日期:2016 / 07 / 02 来源:CSDN 主题:Render to Texture, Post process, Glare, Glow, Multi-pass ...
- 数据结构1:数据结构与算法C语言版分析概述
本节开始将带领大家系统地学习数据结构,作为一门计算机专业大二学生的必修课程,该课程面对的目标人群为初步具备基本编程能力和编程思想的程序员(大一接触了 C 语言或者 C++).通过系统地学习数据结构,可 ...
- Unity Shader-GodRay,体积光(BillBoard,Volume Shadow,Raidal Blur,Ray-Marching)
好久没有更新博客了,经历了不少事情,好在最近回归了一点正轨,决定继续Unity Shader的学习之路.作为回归的第一篇,来玩一个比较酷炫的效果(当然废话也比较多),一般称之为GodRay(圣光),也 ...
- 教你如何认识人脸识别开发套件中的双目摄像、3D结构光摄像头、单目摄像头的区别及详细讲解
深圳市宁远电子提供的人脸识别模组可支持双目摄像头和3D结构光摄像头,在客户咨询中经常有被问到双目的为什么会比单目的成本高,区别在哪里,他们的适用于哪些场景呢?在此,深圳市宁远电子技术工程师就为大家详细 ...
随机推荐
- 黄聪:中国大陆的所有IP段,中国电信所有IP段、中国铁通所有IP段、中国网通所有IP段。
中国大陆的所有IP段,中国电信所有IP段.中国铁通所有IP段.中国网通所有IP段. 中国大陆的所有IP段: 47.153.128.0 47.154.255.25558.14.0.0 58.25.255 ...
- python环境搭建,开发环境
一.从链接http://www.python.org/downloads/ 下载安装包,注意32位和64位安装包区别. https://www.python.org/downloads/windows ...
- 把MacBook里的电影导入到iPad
主要是用iTunes -> 文件 -> 添加到资料库,然后选择影片 -> 同步 -> 应用.在iPad上点开视频APP即可. 怎样才能把mac里的电影放到ipad里_百度知道 ...
- 利用spring的CommonsMultipartResolver上传文件
1.CommonsMultipartResolver是spring里面提供的一个上传方式,效率我不知道,但是加入spring容器管理还是很不错的. 2.先看依赖包pom.xml <project ...
- php soap实例讲解
一,什么是soap,什么是wsdl,为什么要用他们 SOAP是基于XML和HTTP通信协议,xml各种平台,各种语言都支持的一个种语言.http呢它得到了所有的因特网浏览器及服务器的支持. WSDL ...
- RPC框架之Thrift分析(转)
一.简介 1.Thrift是Facebook开发的跨语言的RPC服务框架.随后贡献给Apache开源组织.成为RPC服务的主流框架. 2.特点: 优点: 跨语言,支持java.c/c ...
- probably another instance of uWSGI is running on the same address
probably another instance of uWSGI is running on the same address 可以用命令杀掉这个端口在重启: /tcp
- jsp 学习 第2步 - tag 使用
tag 类似 asp.net 用户控件,用于动态显示HTML 我首先在项目 /WebContent/WEB-INF/ 建立 tags目录 用于存放 tag文件 新建一个message.tag 文件 ...
- Git----时光穿梭机之撤销修改05
自然,你是不会犯错,不过现在是凌晨两点,你正在赶一份工作报告,你在readme.txt中添加了一行: $ cat readme.txtGit is a distributed version cont ...
- Jmeter Http接口性能测试
Jmeter Http接口性能测试 1. 启动Jmeter Jmeter下载解压即可使用,Jmeter启动,点击D:\ProgramFiles\jmeter\apache-jmeter-2. ...