3D链游开发稳定版丨3D链游系统开发规则及详细丨3D链游源码部署(人物建模游戏开发)

简介: 首先,把Project-Standard Assets-Characters-ThirdPersonCharacter-Animation中的HumanoidIdle和HumanoidRun导入Animator,设置Speed超过一定值时进入HumanoidRun,Speed超过一定值时返回HumanoidIdle。

  1.人体模型
Unity Assets Store中的Robot Kyle作为人体模型。首先,在Unity Asset Store中添加Robot Kyle,然后在Window-Package Manager中导入Robot Kyle。点击Project-Robot Kyle-Model-Robot Kyle,在侧边栏中点击inspector-Rig,把Animation Type改成Humanoid。最后,把Robot Kyle资产拖入场景形成实例即可。

  2.人体运动状态与动画

  首先,在Unity Asset Store中添加Unity Standard Asset。其次,在Window-Package Manager中导入Unity Standard Asset(只需要导入Cameras、Characters、CrossPlatformInput、Utility),注意此时会有一个编译错误,需要在报错的脚本import UnityEngine.UI。解决报错以后,给Robot Kyle新建一个Animator,在Animator中添加两个float变量:Speed和Direction,分别控制平动和转动。

  首先,把Project-Standard Assets-Characters-ThirdPersonCharacter-Animation中的HumanoidIdle和HumanoidRun导入Animator,设置Speed超过一定值时进入HumanoidRun,Speed超过一定值时返回HumanoidIdle。

  2.摄像机视角控制

  具体参考此视频。

  1.第三人称视角给mainCamera增加控制脚本,脚本获取mainCamera的Transform的Component,然后设置一个public的元素target作为跟踪目标,在update函数中吧摄像机臂的一端固定在target,臂的方向由鼠标移动来控制。

  2.第一人称视角把第三人称视角的摄像机臂长设为0,即可得到第一人称视角。

  3.摄像机臂长度随俯仰角变换在相机控制脚本中添加一个[SerializeField]的AnimationCurve成员_animationCurve,输入的是俯仰角,输出的是臂长和标准长度的比例,在俯仰角等于-90的时候,_animationCurve输出0,当俯仰角等于90的时候,_animationCurve输出1,中间线性变换。原摄像机臂长乘以_animationCurve即可得到改变以后的臂长。

  关键代码如下:

  //Photographer.cs

  public class Photographer:MonoBehaviour

  {

  //Start is called before the first frame update

  public Transform target;

  private Transform _transform;

  public float Yaw{get;private set;}

  public float Pitch{get;private set;}

  public float mouseSensitivity=5;

  public float armLength=1;

  [SerializeField]private AnimationCurve _animationCurve;

  public void SetYaw(float yaw)

  {

  Yaw=yaw;

  }

  private void Awake()

  {

  _transform=GetComponent<Transform>();

  _transform.position=target.position;

  }

  //Update is called once per frame

  void Update()

  {

  float y=Input.GetAxis("Mouse Y");

  float s=Input.GetAxis("Mouse ScrollWheel");

  armLength=Mathf.Clamp(armLength+s,0,10);

  Pitch+=y*mouseSensitivity;

  Pitch=Mathf.Clamp(Pitch,-90,90);

  _transform.rotation=Quaternion.Euler(Pitch,Yaw,0);

  _transform.position=target.position+armLength_animationCurve.Evaluate(Pitch)(_transform.rotation*Vector3.back).normalized;

  }

  }

相关文章
|
4月前
|
安全 定位技术 UED
潮玩宇宙大逃杀游戏系统开发规则详细/成熟技术/案例设计
潮玩宇宙大逃杀开发涵盖概念设计、场景地图构建、角色装备规划、大逃杀机制、多人对战、资源管理、进度排名、UI/UX、防作弊与安全,及持续更新维护。需调整细节满足项目需求,强调团队合作、测试优化以保稳定性和趣味性。
|
5月前
|
前端开发 测试技术 数据库
农场游戏开发稳定版丨农场游戏系统开发规则分析
农场游戏系统开发涉及五个主要阶段:需求收集与分析(确定游戏目标和玩法)、游戏设计(规划结构和流程,设计界面和音效)、游戏开发(编写程序,开发后端和前端功能)、测试与优化(功能和性能测试,根据反馈调整)以及发布与运营(上线推广,持续运行、维护和更新)。
|
6月前
|
自然语言处理 机器人 C++
量化交易机器人系统开发稳定版丨海外版丨多语言丨策略成熟丨案例项目丨指南教程
The quantitative trading robot system is an automated trading system that executes trading decisions through pre-set algorithms. When developing a quantitative trading robot system,
|
6月前
|
自然语言处理 监控 搜索推荐
佛萨奇2.0/3.0Metaforce原力元宇宙系统开发步骤逻辑丨方案项目丨案例设计丨成熟技术丨源码功能
佛萨奇(VoZaChi)是一个虚拟助手系统,其发展至2.0和3.0版本会有一些特定需求和逻辑
dapp众筹矩阵公排互助系统开发指南详细丨功能需求丨案例项目丨方案项目丨源码程序
Requirement analysis and planning: Clarify the system's goals and functional requirements. Understand the characteristics and working methods of the DApp crowdfunding matrix mutual assistance system. Collect user requirements, define the crowdfunding mechanism, matrix common ranking algorithm, and m
|
安全 Go
链游系统开发案例详情/NFT元宇宙链游系统开发方案项目/成熟技术/源码逻辑
Step 1: Requirements analysis and planning. At this stage, the development team needs to have in-depth communication with clients, understand their needs and expectations, and then develop development plans and project plans.
|
存储 测试技术 区块链
元宇宙游戏链游系统开发(稳定版)丨nft/dapp游戏链游系统开发详情规则及源码案例
  元宇宙链游戏(Metaverse blockchain game)是基于区块链技术和元宇宙概念开发的一类游戏。
|
新零售 人工智能 算法
农场养成种树游戏系统开发(案例项目)丨区块链DAPP种树游戏系统开发(开发案例)及源码方案
  即企业以互联网为依托,通过运用大数据、人工智能等先进技术手段,对商品的生产、流通与销售过程进行升级改造,进而重塑业态结构与生态圈,并对线上服务、线下体验以及现代物流进行深度融合的零售新模式。
|
人工智能 数据挖掘 物联网
NFT/Stepn/Jogger跑鞋链游铸造合成项目系统开发成熟稳定版/开发案例/规则玩法/源码平台
  NFT跑鞋链游项目则是将区块链技术应用到跑鞋领域中去的一个创新项目。通过NFT跑鞋链游项目,跑者可以将自己的跑鞋进行数字资产化,并在游戏中进行买卖和交换。这种数字资产化的跑鞋不仅可以让跑者更好地了解自己的跑鞋价值,还可以为跑者带来更多的社交和娱乐价值。
|
存储 算法 区块链
链游项目系统开发(方案设计)丨DAPP链游系统开发(案例分析)/成熟技术/区块链游戏开发/源码说明
  在区块链中,每个块包含了一定数量的交易信息和该块的唯一标识符,同时还包含了前一个块的哈希值。这样的设计保证了区块之间的顺序和完整性,一旦一个块被添加到区块链中,它就不可更改。This makes blockchain a secure and trustworthy distributed ledger that can be used to record and verify various types of transactions.