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;

  }

  }

相关文章
|
7月前
|
安全 定位技术 UED
潮玩宇宙大逃杀游戏系统开发规则详细/成熟技术/案例设计
潮玩宇宙大逃杀开发涵盖概念设计、场景地图构建、角色装备规划、大逃杀机制、多人对战、资源管理、进度排名、UI/UX、防作弊与安全,及持续更新维护。需调整细节满足项目需求,强调团队合作、测试优化以保稳定性和趣味性。
|
区块链 存储
NFT链游铸造合成项目系统开发(详情方案)|NFT链游模式开发项目原理
Web3技术的兴起已经带来了我们与互联网互动方式的重大转变using(MySqlCommand cmd=new MySqlCommand(select,Conn))
|
新零售 人工智能 供应链
七星创客/艾倍生/推三返一/系统开发方案项目/开发案例/规则玩法/源码程序
  所谓新零售即是个人、企业以互联网为依托,通过运用大数据、人工智能等先进技术手段,对商品的生产、流通与销售过程进行升级改造,进而重塑业态结构与生态圈,并对线上服务、线下体验以及现代物流进行深度融合的零售新模式。
|
安全 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)是基于区块链技术和元宇宙概念开发的一类游戏。
|
存储 前端开发 安全
BSC链盲盒游戏系统开发实现技术原理丨dapp盲盒游戏系统开发案例规则/源码设计/方案项目
  智能合约:它们是存储在区块链上的计算机程序,在满足预定条件时运行,智能合约是用Solidity语言编写的
|
人工智能 数据挖掘 物联网
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.
|
存储 安全 算法
TechFinger游戏搬砖平台系统开发方案详细丨TechFinger搬砖游戏系统开发案例项目/源码功能/成熟技术
去中心化:以分布式网络为基础结构,对数据进行验证、记账、存储、维护和传输等操作,利用纯数学方法建立节点之间的交互信任关系,进而形成去中心化、可信任的分布式系统;
|
区块链 开发者
GameFi链游开发定制(优势分析) | GameFi链游开发源码布局
游戏行业是一个市场广阔的行业,凭借市场高活跃度和投资规模大的特点一直备受关注。伴随着技术的不断进步以及玩家的追求也变得越来越高。因而更丰富的游戏玩法成为游戏行业的发展趋势,这就要求游戏开发者要更加灵活,能够快速满足玩家的需求。 GameFi链游开发在这个背景下应运而生,其是一种将游戏和DeFi(去中心化金融)结合起来的新兴领域。