什么?UnityLearn入门项目也不懂?不用怕,我会出手

这篇具有很好参考价值的文章主要介绍了什么?UnityLearn入门项目也不懂?不用怕,我会出手。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

3D Beginner: Tutorial Resources | John Lemon’s Haunted Jaunt: 3D Beginner 项目详解(参考官方文档)

什么?UnityLearn入门项目也不懂?不用怕,我会出手

文章的目的在于将UnityLearn项目中的一些值得注意的点,以及未展示图片演示的地方进行一个更为详细的整理总结.为项目过程中出现错误不知道如何下手的朋友的排忧解难.

开始前的准备

此unity官方项目下载地址(官方教程的链接也在其中)

3D Beginner: Tutorial Resources | Tutorials | Unity Asset Store

什么?UnityLearn入门项目也不懂?不用怕,我会出手

将其保存至我的项目中

创建3D空核心项目,我的版本为2021.1.11f1c1

在Window的Package Manager中下载导入项目

什么?UnityLearn入门项目也不懂?不用怕,我会出手

1.保存场景

创建一个名为 MainScene 的场景资源。

2.添加角色模型

JohnLemon游戏对象拖入scene

JohnLemon对象的内部

什么?UnityLearn入门项目也不懂?不用怕,我会出手

什么?UnityLearn入门项目也不懂?不用怕,我会出手

JohnLemon 在本质上形成动画的方式如下:角色父游戏对象上的 Animator 组件将改变所有骨骼游戏对象 Transform 组件的旋转,这些改变将一起发生以形成角色的动画。

3.什么是预制件?

什么?UnityLearn入门项目也不懂?不用怕,我会出手

4.将角色转化为预制件(放入Prefebs文件夹)

5.动画化您的角色(只是说准备要动画化,并未有操作)

6.创建 Animator Controller(在相应文件夹Animator中创建)

7.设置动画

什么?UnityLearn入门项目也不懂?不用怕,我会出手

JohnLemon游戏对象已经是预制件了吗

什么?UnityLearn入门项目也不懂?不用怕,我会出手

进入预制件模式禁用Auto Save复选框(启用此复选框会降低速度)

什么?UnityLearn入门项目也不懂?不用怕,我会出手

给游戏对象JohnLemon添加动画,可以看到有Animator组件了,需要创建一个Animator Controller

什么?UnityLearn入门项目也不懂?不用怕,我会出手

在相应的位置创建好后,去寻找动画资源,将其拖动到Animator窗口中

在Parameters中创建一个bool量,名为LsWalking,用来判断游戏对象是否在走路,用于过渡参数

什么?UnityLearn入门项目也不懂?不用怕,我会出手

现在,状态机中有两个状态,但是没有逻辑用于定义应播放的状态.当前,状态机将以默认状态启动,并且永远不会改变,因此JohnLemon将始终处于空闲状态,为了添加一些逻辑,需要创建Animator过渡.

8.创建 Animator 过渡

什么?UnityLearn入门项目也不懂?不用怕,我会出手

右键Make Trasition 创建过渡

什么?UnityLearn入门项目也不懂?不用怕,我会出手

单击连接线进入Insperctor,将Has Exit Time复选框取消,如果 Has Exit Time 为 true(启用此复选框),则在经过一定时间后,将自动进行过渡,并且状态机将播放下一个状态。在此游戏中,控制过渡的时间很重要,因此请禁用 Has Exit Time 复选框。

9.向过渡添加条件

下面将添加条件提供过渡

什么?UnityLearn入门项目也不懂?不用怕,我会出手

Conditions中添加条件

从walk到idle,清空正相反,自行完成.

10.将 Animator Controller 分配给 JohnLemon 预制件

将Animator Controller拖动到游戏对象的Animator组件的Controller属性

11.使角色对物理产生反应

下面给游戏对象添加物理效果

什么?UnityLearn入门项目也不懂?不用怕,我会出手

启动Play,嗯,结果不太对:角色跌落一小段距离后停了下来。请再次按 Play 按钮退出播放模式。

什么?UnityLearn入门项目也不懂?不用怕,我会出手

这是由 Animator 引起的。Animator 组件上的第三个属性是 Apply Root Motion,该属性当前已启用。Root motion(根运动)

12.什么是根运动 (Root Motion)?

什么?UnityLearn入门项目也不懂?不用怕,我会出手

13.什么是更新循环?

什么?UnityLearn入门项目也不懂?不用怕,我会出手

14.修复 John Lemon 的移动问题

进入游戏对象的prefab模式,在Animator中更改UpdateMode为Animate Physics(此前为Normal)

什么?UnityLearn入门项目也不懂?不用怕,我会出手

此更改将使 Animator 通过物理适时移动角色。现在,在移动角色的更新循环之间应该没有竞争,并且角色将对物理设置产生应有的反应。

您已经看到动画没有任何垂直的根运动,但这不会阻止 JohnLemon 与某些对象碰撞后发生垂直移动。有几种方法可以阻止这种情况。

最明显的选择是禁用 Rigidbody 组件上的 Use Gravity:

什么?UnityLearn入门项目也不懂?不用怕,我会出手

这样可以防止角色跌落,但这并不是您想要的。禁用 Use Gravity 的情况下,如果碰撞将角色下推,则该角色仍可能跌落;如果碰撞将角色上推,则该角色会漂走。您肯定不希望发生这种情况,因此您需要使用物理来限制角色的移动。

找到 RigidBody 组件,然后单击箭头以展开 Constraints 属性。这些 Constraint 属性会限制刚体 (Rigidbody) 的移动方向。让我们探索一下 Unity 的坐标系,以准确了解其工作原理。

15.Unity 中的坐标

Unity 中的位置和方向采用 x、y 和 z(它们一起构成一个矢量)表示的 3D 坐标。在下一教程中,您将发现有关矢量的更多信息。一个场景具有这些方向的全局定义,在 Scene 窗口的右上方可以看到。

什么?UnityLearn入门项目也不懂?不用怕,我会出手

彩色箭头表示每个轴的正方向,而相反的灰色箭头表示负方向:

  • x 轴为红色
  • y 轴为绿色
  • z 轴为蓝色

16.位置和旋转

什么?UnityLearn入门项目也不懂?不用怕,我会出手

人物的高度不应变化,所以应该Freeze position Y

人物不应正面和侧面躺下,所以应该Freeze RotationX,Z

什么?UnityLearn入门项目也不懂?不用怕,我会出手

17.向 John Lemon 添加碰撞体

下面给游戏对象添加一个碰撞体(Collider)

最适合 JohnLemon 的最简单形状是胶囊碰撞体 (Capsule Collider),而非Box Collider。

调整合适大小

什么?UnityLearn入门项目也不懂?不用怕,我会出手

什么?UnityLearn入门项目也不懂?不用怕,我会出手

18总结:

您已经开始处理游戏角色。您初步了解了预制件的功能,并创建了一组简单的规则来约束 JohnLemon 的行为。文章来源地址https://www.toymoban.com/news/detail-460540.html

到了这里,关于什么?UnityLearn入门项目也不懂?不用怕,我会出手的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 听劝,不要什么都不懂就自学网络安全【黑客】

    1.不要试图以编程为基础去学习网络安全 不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,且过渡到网络安全用到编程的用到的编程的关键点不多。一般人如果想要把编程学好再开始学习网络安全往往需要花费很长时间,容易半途而废。建议在学

    2024年02月04日
    浏览(45)
  • explain都不懂?搞什么数据库优化,快进来学习了

    EXPLAIN 想必用过mysql的小伙伴都听过, EXPLAIN 可以说是MySQL的性能分析神器。 利用 MySQL EXPLAIN 工具 我们可以生成 MySQL的 执行计划 ,我们可以了解到查询语句的访问路径、索引使用情况、关联方式等信息,从而确定瓶颈所在,进而使用适当的优化方法进行调整,提高查询性能和

    2024年02月04日
    浏览(33)
  • 看不懂微信小程序中的文件都是什么?

    小程序的主体部分由3个文件组成,这3个文件必须放在项目的主目录中,文件名也是固定的,负责小程序的整体配置。 整个小程序的入口文件,通过调用APP()函数来启动整个程序。主要用来注册小程序全局实例,编译时会和其他页面的逻辑文件打包成一个JavaScript文件。项目中

    2024年02月08日
    浏览(45)
  • 【pygame入门】pygame游戏实例入门级教程,如有不懂欢迎随时补充留言。

    pycharm+anconda3; 第三方库: pygame;(从标题看这句略显多余) 方法一:直接在pycharm里面安装。 files-seting-project-python Interpreter 在左侧界面的最左侧边栏上面有个加号,点击后在弹出页面搜索需要的第三方库,然后直接安装。 方法二:pip安装。 因为用的是anconda所以需要在终端里面

    2024年02月04日
    浏览(48)
  • 听劝!不要什么都不懂就去学外审员|10条经验分享

    外审员考试真的是越来越内卷了! 每次报名都要打着十二分的精神守在电脑前,考位真的很难抢! 可见外审员真的是非常的吃香,这也是有根据的,目前国内一些大型企业都要求体系专员具备外审员的资格,同样的,认证机构也是求贤若渴。 市场需求这么大,外审员的门槛

    2024年02月08日
    浏览(54)
  • 炫云为什么要采用让人看不懂的GHZ计费?

    很多人看到炫云GHZ计费都表示看不懂,觉得麻烦,没有按核数、按线程或者按分钟计费简单易懂,甚至还被某些同行经常拿来攻击。哪为什么炫云还坚持用GHZ计费呢?哪是因为使用GHZ计费更加公平、透明,且具有硬件无关性。今天就来和大家详细说说炫云为什么要用GHZ计费。

    2024年02月05日
    浏览(62)
  • 还是搞不懂Anaconda是什么?读这一篇文章就够了

    概述 Anaconda ,中文 大蟒蛇 ,是一个开源的Anaconda是专注于数据分析的Python发行版本,包含了conda、Python等190多个科学包及其依赖项。 Anaconda就是可以便捷获取包且对包能够进行管理,包括了python和很多常见的软件库和一个包管理器conda。常见的科学计算类的库都包含在里面了

    2024年02月03日
    浏览(92)
  • Neo4j入门教程2(看不懂评论区随便骂)

    1. ORDER BY 承接上文,创建三个学生节点,标签为student1、student2、student3,分别拥有age属性和num属性 查看我们创建的节点得到如下结果: 以上代码,按照num属性默认对返回的学生进行升序排序 如果需要降序排序,只需要在末尾加上desc即可 2. UNION语句 先创建四只狗节点,属性

    2024年02月07日
    浏览(46)
  • 为什么不用跳表

    跳表(Skip List)是一种用于实现有序集合的数据结构,它通过在不同层次上建立索引来加速查找操作。虽然跳表在某些情况下能够提供较好的性能,但在实际应用中,并不是所有的场景都适合使用跳表,主要有以下几个原因: 1.额外的空间开销: 跳表需要维护多层索引以加速

    2024年02月20日
    浏览(46)
  • x86 32 64 Arm这些听过但不懂,都是什么?是架构还是系统?一文梳理

    x86 听过吗? 64位操作系统知道吧 和x86什么关系 32和64都是什么东西? 曾经的我也一头雾水,今天我才来整理一下,惭愧惭愧! 今天带着沉重的心情来梳理一下学习内容吧 如果你很熟悉很了解计算机的话,应该知道,处理器、操作系统、驱动、软件都有32位和64位之分,只不

    2024年04月29日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包