《全民无双》锁链刀光程序生成算法,即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技术类工作;对游戏开发有兴趣; 

学习能力强,工作热情高,富有责任感,在公司培训及工程师的指导下完成工作内容; 

本岗位欢迎优秀应届毕业生前来应聘。(学习能力强者可宽松学历要求) 

自由、公平、人性、关爱,是游旺对员工的态度。

★ 所有加入游旺的员工,入职即可享受国家规定的各种假期福利

★ 严格按照国家规定为员工缴纳各项社会保险

★ 入职即进入培训期,专人培带,让员工快速融入团队和开发体系.

原文地址:https://www.cnblogs.com/hellohuan/p/3478907.html