当前位置: 首页 > news >正文

网站10月份可以做哪些有意思的专题贵阳做网站公司排名

网站10月份可以做哪些有意思的专题,贵阳做网站公司排名,网站开发招商计划书,微信开放平台登录入口最终效果 文章目录 最终效果前言相机偏移震动相机震动脚本换弹节点震动 武器射击后退效果武器后坐力效果完结 前言 关于后坐力之前其实已经分享了一个:FPS游戏后坐力制作思路 但是实现起来比较复杂,如果你只是想要简单的实现,可以看看这个&…

最终效果

在这里插入图片描述

文章目录

  • 最终效果
  • 前言
  • 相机偏移震动
    • 相机震动脚本
    • 换弹节点震动
  • 武器射击后退效果
  • 武器后坐力效果
  • 完结

前言

关于后坐力之前其实已经分享了一个:FPS游戏后坐力制作思路

但是实现起来比较复杂,如果你只是想要简单的实现,可以看看这个,其实原理是控制相机的震动实现后坐力和偏移

相机偏移震动

相机震动脚本

新增CameraOffset,Singleton是一个泛型单例

// 控制相机偏移
public class CameraOffset : Singleton<CameraOffset>
{private Vector3 currentRotation; // 当前旋转角度private Vector3 targetRotation; // 目标旋转角度public float snappiness; // 旋转平滑度public float returnAmount; // 回归平滑度void Update(){// 让目标旋转角度逐渐回归到零向量targetRotation = Vector3.Lerp(targetRotation, Vector3.zero, Time.deltaTime * returnAmount);// 使用插值方法让当前旋转角度逐渐接近目标旋转角度currentRotation = Vector3.Slerp(currentRotation, targetRotation, Time.fixedDeltaTime * snappiness);// 将当前旋转角度应用到相机的局部旋转transform.localRotation = Quaternion.Euler(currentRotation);}// 震动相机public void Shake(int i){// 设置目标旋转角度为一个在(-i, i)范围内的随机向量targetRotation = new Vector3(Random.Range(-i, i), Random.Range(-i, i), Random.Range(-i, i));}
}

配置参数,脚本挂载在相机身上
在这里插入图片描述
注意,通常相机的偏移震动可能会和人物鼠标控制相机视角冲突,所以最好是给相机新增一个父类,防止二者互相干扰
在这里插入图片描述

换弹节点震动

还可以在武器换弹时的某些节点,调用相机的震动,实现不错的人物操作反馈
在这里插入图片描述

//动画事件
public class PangXieAnimEnvent : MonoBehaviour
{public void PangXieAnim(int i){CameraOffset.Instance.Shake(i);}
}

挂载PangXieAnimEnvent 脚本到对应带Animator的武器身上
在这里插入图片描述

武器射击后退效果

//枪支向后移动
public class WeaponBack : Singleton<WeaponBack> 
{private Vector3 startPosition;public float aimSmoothing = 10;//平滑度private void Start() {startPosition = transform.localPosition;}private void Update() {Vector3 desiredPosition = Vector3.Lerp(transform.localPosition, startPosition, Time.deltaTime * aimSmoothing); // 使用插值平滑过渡到目标位置transform.localPosition = desiredPosition; // 更新枪支的本地位置}public void Back(){transform.localPosition -= Vector3.forward * 0.1f; // 使枪支向后移动}
}

调用·

WeaponBack.Instance.Back();

武器后坐力效果

这里再分享一个实现武器后坐力脚本

// 武器后坐力脚本
public class WeaponRecoil : Singleton<WeaponRecoil>
{public float minX, maxX; // 后坐力产生的旋转角度范围public float minY, maxY;public Transform recoilCamera; // 产生后坐力的相机Vector3 rot; // 相机当前的旋转角度private void Update(){rot = recoilCamera.transform.localRotation.eulerAngles;if (rot.x != 0 || rot.y != 0){// 如果相机的旋转角度不为0,则逐渐回到0的旋转角度recoilCamera.transform.localRotation = Quaternion.Slerp(recoilCamera.transform.localRotation, Quaternion.Euler(0, 0, 0), Time.deltaTime * 3);}}// 产生后坐力效果的方法public void Recoil(){// 在规定的范围内随机产生旋转角度偏移量float recX = Random.Range(minX, maxX);float recY = Random.Range(minY, maxY);// 将相机的旋转角度设置为产生偏移后的角度,并更新到相机上recoilCamera.transform.localRotation = Quaternion.Euler(rot.x - recY, rot.y + recX, rot.z);}
}

在武器射击时调用后坐力

WeaponRecoil.Instance.Recoil();

配置参数
在这里插入图片描述
效果
在这里插入图片描述

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,以便我第一时间收到反馈,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇,https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,出于兴趣爱好,最近开始自学unity,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!php是工作,unity是生活!如果你遇到任何问题,也欢迎你评论私信找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~

在这里插入图片描述

http://www.yayakq.cn/news/353425/

相关文章:

  • wordpress生成静态页百度seo公司有哪些
  • 网站域名服务器一年多少钱wordpress审批优化
  • 成都网站建设网站建设哪家好wordpress主题去谷歌字体
  • 手机端企业网站源码建筑信号工
  • 张家口住房和城乡建设厅网站苏州城乡建设局网站质检员
  • 山东省住房城乡建设厅查询网站首页做网站优化
  • 太原网站建设维护深圳金融投资网站建设
  • 电商网站英文高端网站制作上海
  • 西安网站建设开发店面设计流程
  • 网站建设原则包括哪些方面辽宁网站建设墨子
  • 百度下拉框推广网站dw个人网站模板
  • html5网站开发教学wordpress编辑器添加
  • 成都网站建设四川冠辰免费企业网站注册
  • 领硕网站seo优化wordpress is tax
  • 不干净的软件下载网站石家庄市建设工程信息网
  • 自己做自己的私人网站做dj网站能赚钱吗
  • WordPress移动站竞价服务托管价格
  • 网站建站平台 开源阎良做网站
  • 在线借贷网站建设最成功设计 网站
  • 网站页面html静态化是什么意思wordpress微云解析插件
  • 溧阳市建设局网站自媒体网站源码
  • 南京网站建设公司 雷监理工程师成绩在建设部哪个网站查
  • 想给孩子找点题做 都有什么网站建筑工程挂网甩浆
  • 怎么做电玩网站wordpress邮箱汉化插件
  • 广州住房和建设局网站标准网站建设费用
  • 体育用品网站模板阿里邮箱 wordpress
  • 公司做网站有意义么233小游戏网页入口
  • 怎样做招嫖网站电子商务是什么意思
  • 绵阳网站改版保定网站设计网站
  • 猪八戒网做网站如何付款上海的公司名称