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

网站加速工具北京vi设计公司有哪些

网站加速工具,北京vi设计公司有哪些,室内设计说明500字范文,网站没有备案号最终效果 前言 使用CharacterController实现3d角色控制器#xff0c;之前已经做过很多了#xff1a; 【unity小技巧】unity最完美的CharacterController 3d角色控制器#xff0c;实现移动、跳跃、下蹲、奔跑、上下坡、物理碰撞效果#xff0c;复制粘贴即用 【unity实战】C…最终效果 前言 使用CharacterController实现3d角色控制器之前已经做过很多了 【unity小技巧】unity最完美的CharacterController 3d角色控制器实现移动、跳跃、下蹲、奔跑、上下坡、物理碰撞效果复制粘贴即用 【unity实战】Cinemachine虚拟相机Character Controller实现俯视角、第三人称角色控制复制粘贴即用 有的人就会问了使用Rigidbody要怎么做呢这不就来了本文主要是使用新版输入系统Input SystemRigidbody实现第三人称人物控制器我就不做特别复杂了其他内容欢迎大家自行补充。因为我也不是很推荐大家使用RigidbodyCharacterController 其实已经可以满足我们开发中的所有需求了。Rigidbody定义一些CharacterController自带的功能真的非常麻烦比如爬坡走楼梯等等所以我这里主要只是带大家了解一下并不会深入研究。 使用Input System获取玩家输入 参考【推荐100个unity插件之18】Unity 新版输入系统Input System的使用看这篇就够了 我这里直接使用Player Input组件生成的默认的Input Actions映射 新增脚本获取玩家输入 /// summary /// 玩家输入 /// /summary public class PlayerInput : MonoBehaviour {// 用于存储移动输入的向量public Vector2 MoveInput { get; private set; }// 用于存储视角输入的向量public Vector2 LookInput { get; private set; }public bool ChangeCameraWasPressedThisFrame{get; private set; }//是否按下切换相机private InputActions _input;private void OnEnable(){_input new InputActions();_input.Player.Enable();_input.Player.Move.performed SetMove;_input.Player.Move.canceled SetMove;_input.Player.Look.performed SetLook;_input.Player.Look.canceled SetLook;}private void OnDisable(){_input.Player.Move.performed - SetMove;_input.Player.Move.canceled - SetMove;_input.Player.Look.performed - SetLook;_input.Player.Look.canceled - SetLook;_input.Player.Disable(); }private void SetMove(InputAction.CallbackContext context){MoveInput context.ReadValueVector2();}private void SetLook(InputAction.CallbackContext context){LookInput context.ReadValueVector2();} }人物添加刚体 添加刚体配置参数 控制角色移动 新增脚本控制角色移动对这里的AddRelativeForce不太了解的小伙伴可以查看我这篇文章 【unity小技巧】常用的方法属性和技巧汇总长期更新 public class PlayerController : PlayerInput {Rigidbody _rb;[Header(移动)][SerializeField] float _speed 1000f;// 移动的速度private void Awake(){_rb GetComponentRigidbody();}private void FixedUpdate(){PlayerMove();}// 计算并应用玩家的移动private void PlayerMove(){// 根据输入和速度计算移动向量_playerMoveInput new Vector3(MoveInput.x, 0, MoveInput.y).normalized * _speed;// 将相对力应用到刚体上_rb.AddRelativeForce(_playerMoveInput, ForceMode.Force);} }配置 效果 手搓代码控制相机视角 修改PlayerInput [Header(相机视角控制)] public Transform CameraFollow;// 用于跟随摄像机的 Transform private Vector3 _playerLookInput;// 玩家视角输入 private float _playerRotation;// 角色旋转角度 private float _cameraPitch;// 摄像机俯仰角度 [SerializeField] float _rotationSpeed 180.0f;// 角色旋转速度 [SerializeField] float _pitchSpeed 180.0f;// 摄像机俯仰速度private void Awake() {_rb GetComponentRigidbody();mainCamera Camera.main; // 获取主相机 }private void Update() {_playerLookInput new Vector3(LookInput.x, -LookInput.y, 0f) * Time.deltaTime;// 获取视角输入PlayerLook(); // 更新角色的旋转PitchCamera(); // 更新摄像机的俯仰角度 }// 更新角色的旋转 private void PlayerLook() {_playerRotation _playerLookInput.x * _rotationSpeed;_rb.rotation Quaternion.Euler(0f, _playerRotation, 0f); }// 更新摄像机的俯仰角度 private void PitchCamera() {Vector3 rotationValues CameraFollow.rotation.eulerAngles;_cameraPitch _playerLookInput.y * _pitchSpeed;_cameraPitch Mathf.Clamp(_cameraPitch, -89.9f, 89.9f);//限制俯仰视角角度CameraFollow.rotation Quaternion.Euler(_cameraPitch, rotationValues.y, rotationValues.z); }配置相机为角色的子物体 效果 最终代码 using UnityEngine;public class PlayerController : PlayerInput {Rigidbody _rb;[Header(移动)]Vector3 _playerMoveInput;// 玩家移动向量[SerializeField] float _speed 1000f;// 移动的速度[Header(相机视角控制)]public Transform CameraFollow;// 用于跟随摄像机的 Transformsprivate Vector3 _playerLookInput;// 玩家视角输入private float _playerRotation;// 角色旋转角度private float _cameraPitch;// 摄像机俯仰角度[SerializeField] float _rotationSpeed 180.0f;// 角色旋转速度[SerializeField] float _pitchSpeed 180.0f;// 摄像机俯仰速度private Camera mainCamera; // 主相机private void Awake(){_rb GetComponentRigidbody();mainCamera Camera.main; // 获取主相机}private void Update(){_playerLookInput new Vector3(LookInput.x, -LookInput.y, 0f) * Time.deltaTime;// 获取视角输入PlayerLook(); // 更新角色的旋转PitchCamera(); // 更新摄像机的俯仰角度}private void FixedUpdate(){PlayerMove();}// 计算并应用玩家的移动private void PlayerMove(){// 根据输入和速度计算移动向量_playerMoveInput new Vector3(MoveInput.x, 0, MoveInput.y).normalized * _speed;// 将相对力应用到刚体上_rb.AddRelativeForce(_playerMoveInput, ForceMode.Force);}// 更新角色的旋转private void PlayerLook(){_playerRotation _playerLookInput.x * _rotationSpeed;_rb.rotation Quaternion.Euler(0f, _playerRotation, 0f);}// 更新摄像机的俯仰角度private void PitchCamera(){Vector3 rotationValues CameraFollow.rotation.eulerAngles;_cameraPitch _playerLookInput.y * _pitchSpeed;_cameraPitch Mathf.Clamp(_cameraPitch, -89.9f, 89.9f);//限制俯仰视角角度CameraFollow.rotation Quaternion.Euler(_cameraPitch, rotationValues.y, rotationValues.z);} }源码 很遗憾源码我并不想免费分享我也建议大家能自己手动去敲代码逐步实现和理解每一块功能。项目实现所涉及的主要功能思路和代码我也已经毫无保留的分享在文章中了当然如果你真的需要的话源码我也放出来了收个辛苦费就当作你对我不断创作的支持。力量随微心暖人。您的每一次支持都是我创作的最大动力 https://gf.bilibili.com/item/detail/1106435120 完结 赠人玫瑰手有余香如果文章内容对你有所帮助请不要吝啬你的点赞评论和关注你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法也欢迎评论私信告诉我哦 好了我是向宇https://xiangyu.blog.csdn.net 一位在小公司默默奋斗的开发者闲暇之余边学习边记录分享站在巨人的肩膀上通过学习前辈们的经验总是会给我很多帮助和启发如果你遇到任何问题也欢迎你评论私信或者加群找我 虽然有些问题我也不一定会但是我会查阅各方资料争取给出最好的建议希望可以帮助更多想学编程的人共勉~
http://www.hkea.cn/news/14544297/

相关文章:

  • 网站系统设计为企业做网站电话开场白
  • 快速html5网页设计的网站网站策划方案范文
  • 深圳网站排名优化公司网站制作软件手机版
  • 跟网站做流量用asp.net开发网站的优势
  • 中山做外贸网站二手车网站开发PPT
  • 泉州网站建设哪家公司好wordpress文字排版
  • 朔州公司做网站怎么提交网站地图
  • 网站一般用什么工具做做网站什么是三网合一
  • 兰州拼团网站建设河南建设信息网首页
  • 微信群拉人的营销方法提供搜索引擎优化公司
  • 郴州网站开发wordpress定制网页
  • 国外网站免费dnswordpress apple pro
  • 手机创建自己网站成都网站建设推广好
  • 招聘网站开发技术维护智能网站建设维护
  • 织梦体育网站模板郑州微网站建设公司
  • 网站注册要多少钱长沙网上商城开发
  • 室内设计平面图手绘图深圳网站优化方案
  • 唐汉网站建设动易网站管理系统
  • 网站 网站 建设工作人员回应游客扔免费午餐
  • 成都网站建设收费天元建设集团有限公司商业承兑汇票拒付最新消息
  • 北京网站建设哪家强营销型企业网站建设的内容
  • 外贸网站模板设计做网站必须会php吗
  • 米拓网站建设教程商业网站的创建程序
  • 阿里云腾讯云网站建设旅游网站建设ppt模板下载
  • 短视频推广引流方案免费下载百度seo
  • 网站建设模块分析电影网站建设步骤
  • 什么网站可以做头像注册安全工程师考试时间
  • 福田企业网站优化排名上海兼职网站制作
  • 网站建设功能点价格移动官网网站建设
  • icp备案通过了 怎么修改我的网站wordpress 页面 权限