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

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

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

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

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

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

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

  • 相关阅读:
    软件测试各阶段测试人员的职责
    【Python 学习_第4周_字符编码】金角大王培训_第4周_理解装饰器_1
    【Python 学习_第3周_字符编码】金角大王培训_第三周_字符编解码_心得及网上资料连接
    【Python 学习_第2周_程序代码】金角大王培训第二周练习_购物车代码,将写的代码和老师代码比较,记录下收获
    [测试理论_测试用例设计第一步_建立需求模型]读 Essential Software Test Design 书有感_1
    基于selenium模块的Python 自动化脚本常见错误(二)_采用selenium自带截图工具截取的图片截取不完全时的处理方法
    【测试管理_浅谈软件测试的价值及如何做】
    【Python 学习_第1周_程序代码】金角大王培训第一周作业_输入用户名和密码,根据输入内容进行结果判定(包含excel表格读写操作)
    基于selenium模块的Python 自动化脚本常见错误(一)
    C#中yield return的作用
  • 原文地址:https://www.cnblogs.com/hellohuan/p/3478907.html
Copyright © 2011-2022 走看看