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

有什么较好的网站开发框架友链交易平台

有什么较好的网站开发框架,友链交易平台,做黄金理财的网站,wordpress中文主题团队最终效果 文章目录 最终效果前言相机偏移震动相机震动脚本换弹节点震动 武器射击后退效果武器后坐力效果完结 前言 关于后坐力之前其实已经分享了一个: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.wooajung.com/news/27220.html

相关文章:

  • ubuntu wordpress端口seo优化个人博客
  • 网站sitemap制作兰州seo优化
  • 网站要背代码?深圳搜索排名优化
  • 做网站的视频宁波seo网络推广推荐
  • 北京网站优化策略seo综合查询站长工具关键词
  • 河南网站设计公司价格公司关键词排名优化
  • 工商网站查询企业信息查询官网灰色词网站seo
  • 深圳专业网站建设产品运营之中的广度讲解深圳网络营销的公司哪家好
  • 怎么做网站推广百度快照不更新怎么办
  • 昆明做网站建设公司淘宝网店运营
  • 龙口有没有做网站的产品推广策略怎么写
  • 做网站公司需要多少钱如何免费做网站网页
  • 中山制作企业网站新站整站快速排名
  • 动漫设计与制作代码seo裤子的关键词首页排名有哪些
  • 哈尔滨百度网站建设长春百度推广公司
  • 最便宜网站空间百度推广登录首页
  • 深圳网站建设 公司元代运营公司怎么找客户
  • 公司网站建设模块简介seo优化排名经验
  • 招聘网站免费平台响应式模版移动优化
  • 广东深圳网站建设微信商城运营快速网站排名提升工具
  • 南宁北京网站建设百度百家号怎么赚钱
  • 长春做网站多少钱全国疫情最新公布
  • 名师工作室建设名师网站微信小程序开发
  • 网站建设公司 2018搜索引擎广告案例
  • 哪个工业园区信息化网站做的好搜索引擎优化的目的是
  • 手机主页网站哪个好用网站推广软件免费版
  • 专业的企业智能建站比较好高质量内容的重要性
  • 镇江疫情最新消息今天重庆公司网站seo
  • 上海兼职做网站专业营销推广团队
  • 南京做企业网站的公司免费广告制作软件