做网站来钱快,北京高端网站建设有限公司,河南郑州水灾,制作微信网站模板下载制作这个游戏demo出来的心得 https://www.bilibili.com/video/BV1cF411m7Dh/ 制作游戏demo的心得
制作游戏demo#xff0c;主要是为了表现自己的技术#xff0c;那就一门心思想着如何提高表现力就行了#xff0c;在整体的画面渲染风格方面或许没有什么可选择的#xff0c;…制作这个游戏demo出来的心得 https://www.bilibili.com/video/BV1cF411m7Dh/ 制作游戏demo的心得
制作游戏demo主要是为了表现自己的技术那就一门心思想着如何提高表现力就行了在整体的画面渲染风格方面或许没有什么可选择的市面上资料最多最成熟的只有卡通渲染shader自己写要写的东西太多不如不写写了也没别人的好看用什么模型就用什么模型的shader地面不要旋转用最普通的plane材质选择网格线的贴图平铺即可采样改成平铺缩放改成60这样就可以把plane大小缩放改成60然后看到一个一个的网格地面unity的官方shader里面就有支持这种效果的对于角色的动作他提供动作案例的时候动画里面带了位移案例使用了rootmotion那你就用rootmotion没有位移才考虑自己使用刚体做位移用刚体而不是直接修改transform的原因是为什么防止在播动画的时候穿墙所以假设有一个翻滚动画如果这个翻滚非常特殊就是一个向后滚那就不自己修改旋转直接使用动画旋转如果是通用的向前翻滚动作翻滚前记录好想要roll的direction然后在播动作的同时以rotspeed插值到这个方向即可为了防止穿墙可以考虑使用animator的deltaposition/time.deltatime求出瞬时速度赋值给刚体的velocity利用刚体来移动roll结束后关闭刚体的位移功能主角去推这个怪主角刚体是开着的主角有反作用力主角和怪不会重叠怪平时与障碍物怪之间利用agent功能避障寻常怪的导航寻路直接使用unity的navigation即可怪在游戏过程中会使用到animatoragent刚体刚体是为了特殊动作时候的防止穿墙行为在移动中把agent的接下来想要移动的希望速度转化为怪自身坐标系下的水平运动参数和向前运动参数可以传进animator里面然后animator使用这两个参数在混合树里面混合出对应的移动动作还是使用rootmotion的移动在onanimatormove里面求出动画速度又赋予修改给agent就是agent和animator的协同如果agent在执行翻滚的时候超出了烘焙区域非onnavmesh关agent不更新agent位置时刻采样网格中当前位置的最近网格点采样到了开agent判断采样的位置点与自己下一个要移动的位置点是不是很近很近开更新位置直接使用agent移动没有很近先不开agent的位置更新否则没采样到使用刚体移动目标是target采样到非更新位置情况使用动画移动目标防止使用agent瞬移目标就是nextposition有agent计算的dir已经考虑过了避障不需要刚体了 agent的offmeshlink unity有个官方脚本可以帮助自定义穿越link的时候的一些行为例如用曲线插值模拟跳跃运动 对于一些分层的运动使用分层动画遮罩就行了boss理应有远程的射击方式射击方式有平射散射抛物线运动等基本的弩箭就平射抛物线运动通过设定初始速度求出水平分量和垂直分量每帧更新位置直到接近地板就行了如果是手机上的游戏拖动ui选择目标位置的投射需要先根据ui上相对中心的相对ui位置转化为主角空间下的世界坐标根据世界的目标位置在根据实际逻辑决定发射方向和大小平射运动刚体增加一个impluse的力就行了由于平射运动的子弹速度可能非常快可以利用update的射线检测来判断是否碰到障碍物ontriggerenter这些都是都是在物理循环中根据fixedupdatetime来进行更新而fixedupdate可能比update大而且fixedupdate也是在update下的模拟调用怪的翻滚受击的时候在决定是否翻滚翻滚成功后不扣伤害即可怪的受伤flash修改材质的自发光属性开启hdr强度设置的很高再配合后处理的bloom效果即可实现击中后的顿帧修改animation参数speed即可受击动作可以做4个方向根据受击时候攻击者在受击者坐标空间下的forward向量的角度差可判断是在前方还是左右还是背后以此作为动画参数来决定播什么这些都是向量空间转换以及一些基本的向量运算问题启用ik解决一些双手武器时候左手的跟随问题同时为了避免一切到双手武器左手直接瞬移到target位置而且一开始就ik手会走一个不正确的骨骼运动在武器快到左手位置的时候再开启ik插值混合就行了角色被攻击到应该有受击动作的反馈如果是霸体那也要模型抖动的反馈模型抖动直接去找现有的效果角色武器攻击到墙壁会触发一个反弹的效果此时播个recoil的动画动作即可反弹的效果应该在一定的角度内才有碰撞体与forward向量的角度差小于70度才播反弹动作否则只出发一个攻击特效之类的怪的cansee状态先fov椎体模型后判断y的夹角fov判断也是向量转夹角判断主角的索敌follow主角lookat目标用cinemachine即可主角输入移动输入空间坐标转跟随相机空间的坐标求出旋转的方向旋转主角移动就是向前乘以移动速度而角色处于strafe状态的时候由于此时旋转是依赖目标的而转换坐标后的inputdir把x和z参数传到动画控制器里面即可free和strafe是两个locomotion对于怪物的冲刺攻击一个动画根据时长和相对距离设置刚体速度击飞击倒都是两个动画一个被击倒一个getup击飞也是刚体设置速度 对于技能当中的位移相关能用动画位移的就直接使用动画位移RootMotion遵循美术的想法实在没动画位移的考虑刚体。 受击有的也用布娃娃但应该没必要太耗
分层动画ik导航网格寻路刚体运动