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;

  }

  }

相关文章
|
27天前
|
自然语言处理 安全
线下陪玩游戏系统开发多语言/海外版/成熟技术/方案项目/源码功能
Continuing to develop an offline companion game system may involve the following aspects:
|
2月前
|
自然语言处理 机器人 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,
|
2月前
|
安全 区块链 数据安全/隐私保护
链游开发正式版丨链游系统开发指南教程丨链游系统源码程序
链游系统开发规则指的是在构建基于区块链技术的游戏系统时需要遵循的一系列规定和准则。这些规则旨在确保链游系统的安全性、可靠性、透明性和用户体验,
|
8月前
|
存储 测试技术 区块链
元宇宙游戏链游系统开发(稳定版)丨nft/dapp游戏链游系统开发详情规则及源码案例
  元宇宙链游戏(Metaverse blockchain game)是基于区块链技术和元宇宙概念开发的一类游戏。
|
8月前
|
存储 负载均衡 前端开发
dapp区块链游戏开发功能版丨区块链游戏dapp链游系统开发技术方案/玩法规则/项目案例/源码程序
  区块链游戏系统开发是区块链技术在游戏领域的应用之一。通过区块链技术,游戏系统可以实现更加公平、透明、安全的游戏环境,同时提高游戏的运营效率和用户满意度。下面我们将详细介绍区块链游戏系统开发实现的技术和方案
|
9月前
|
人工智能 数据挖掘 物联网
NFT/Stepn/Jogger跑鞋链游铸造合成项目系统开发成熟稳定版/开发案例/规则玩法/源码平台
  NFT跑鞋链游项目则是将区块链技术应用到跑鞋领域中去的一个创新项目。通过NFT跑鞋链游项目,跑者可以将自己的跑鞋进行数字资产化,并在游戏中进行买卖和交换。这种数字资产化的跑鞋不仅可以让跑者更好地了解自己的跑鞋价值,还可以为跑者带来更多的社交和娱乐价值。
|
11月前
|
机器学习/深度学习 人工智能 运维
工程与产品的胜利,深度剖析ChatGPT和聪明地设计基础架构
工程与产品的胜利,深度剖析ChatGPT和聪明地设计基础架构
120 0
|
12月前
|
存储 安全 算法
TechFinger游戏搬砖平台系统开发方案详细丨TechFinger搬砖游戏系统开发案例项目/源码功能/成熟技术
去中心化:以分布式网络为基础结构,对数据进行验证、记账、存储、维护和传输等操作,利用纯数学方法建立节点之间的交互信任关系,进而形成去中心化、可信任的分布式系统;
|
存储
哈希竞猜游戏开发项目方案丨源码搭建NFT数藏系统开发流程
哈希竞猜游戏开发项目方案丨源码搭建NFT数藏系统开发流程
|
人工智能 5G 区块链
元宇宙游戏项目系统开发技术功能版及源码方案
元宇宙游戏项目系统开发技术功能版及源码方案
125 0