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;

  }

  }

相关文章
|
18天前
|
存储 安全 区块链
dapp元宇宙链游游戏系统开发功能详细/规则玩法/源码逻辑
**智能合约开发**:智能合约是 DApp 的核心,它们运行在区块链上并控制着游戏的逻辑和规则。您需要使用 Solidity 或类似的语言编写智能合约,以实现游戏中的经济系统、资产所有权和交易功能。
|
18天前
|
自然语言处理 机器人 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,
|
18天前
|
安全 区块链 数据安全/隐私保护
链游开发正式版丨链游系统开发指南教程丨链游系统源码程序
链游系统开发规则指的是在构建基于区块链技术的游戏系统时需要遵循的一系列规定和准则。这些规则旨在确保链游系统的安全性、可靠性、透明性和用户体验,
|
18天前
|
自然语言处理 监控 搜索推荐
佛萨奇2.0/3.0Metaforce原力元宇宙系统开发步骤逻辑丨方案项目丨案例设计丨成熟技术丨源码功能
佛萨奇(VoZaChi)是一个虚拟助手系统,其发展至2.0和3.0版本会有一些特定需求和逻辑
|
10月前
|
安全 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.
|
10月前
|
存储 测试技术 区块链
元宇宙游戏链游系统开发(稳定版)丨nft/dapp游戏链游系统开发详情规则及源码案例
  元宇宙链游戏(Metaverse blockchain game)是基于区块链技术和元宇宙概念开发的一类游戏。
|
11月前
|
人工智能 数据挖掘 物联网
NFT/Stepn/Jogger跑鞋链游铸造合成项目系统开发成熟稳定版/开发案例/规则玩法/源码平台
  NFT跑鞋链游项目则是将区块链技术应用到跑鞋领域中去的一个创新项目。通过NFT跑鞋链游项目,跑者可以将自己的跑鞋进行数字资产化,并在游戏中进行买卖和交换。这种数字资产化的跑鞋不仅可以让跑者更好地了解自己的跑鞋价值,还可以为跑者带来更多的社交和娱乐价值。
|
11月前
|
存储 人工智能 算法
MATIC马蹄链佛萨奇2.0系统源码搭建|现成案例|成熟技术
function _setImplementation(address newImplementation)internal{
|
12月前
|
存储 算法 区块链
链游项目系统开发(方案设计)丨DAPP链游系统开发(案例分析)/成熟技术/区块链游戏开发/源码说明
  在区块链中,每个块包含了一定数量的交易信息和该块的唯一标识符,同时还包含了前一个块的哈希值。这样的设计保证了区块之间的顺序和完整性,一旦一个块被添加到区块链中,它就不可更改。This makes blockchain a secure and trustworthy distributed ledger that can be used to record and verify various types of transactions.
|
存储 安全 算法
TechFinger游戏搬砖平台系统开发方案详细丨TechFinger搬砖游戏系统开发案例项目/源码功能/成熟技术
去中心化:以分布式网络为基础结构,对数据进行验证、记账、存储、维护和传输等操作,利用纯数学方法建立节点之间的交互信任关系,进而形成去中心化、可信任的分布式系统;