Unity学习笔记01-创建物体与角色控制

记录一下自己Unity的学习经历,这次最终将实现一个类似微信跳一跳的小游戏。

  1. Unity项目基本组成

在Unity中物体是一个场景中最基本的组成部分,物体又由物体的组件来实现不同的功能,所以在Unity中,主要的组成流程便是:

·项目-> 场景->游戏物体->组件->组件参数

脚本也属于组件的一种,而熟练的使用各种组件或者插件也是编写脚本的基础,同时运用组件也能够减少脚本的编写量。

  1. 创建基本物体

以Unity2020为例,在默认界面下,左侧的Project可以创建各种基本的物体,同时也是场景中所以物体的展示视图:

而在下侧的Hierarchy界面可以创建各式组件和其他东西,同时也是所以资源的管理器和展示视图:

  1. 物体的基本属性

大部分物体都拥有一个基本属性:Transform

(点击物体后在右侧检查视图中出现)

他代表这这个物体在场景中的位置、旋转和缩放。

注意:Transform分为世界坐标和本地坐标,在默认情况下Transform视图展示的是本地坐标,在单个物体时不会出现问题,但是如果有物体存在父物体或者子物体:

,那么子物体的在场景中展示的坐标便会变成父物体的Transform和子物体的Transform的相加。

例:Parent的位置是-10/0/0,Cube的位置是10/0/0,他们的关系如上图所示,那么Cube在场景中的位置与单独Cube物体的0/0/0相同。而如果要通过脚本修改Transform,则提供世界坐标和本地坐标两种对象可以修改,注意甄别即可。

  1. 物体的基本操作

场景的左上角有物体的控制方法,点击物体之后选择操作就可以在视图上看到可操作的额外显示。(快捷键为QWERTY)

  1. 碰撞与重力

在Unity中,想要物体能够产生碰撞,必须要添加各类型的Collider(碰撞器)组件,如果一个物体没有Collider组件,那么它就会像贴图一样被所有物体穿过。

不同的Collider组件在入门使用时基本上只有形状上的不同,碰撞器的形状可以与模型外形相同也可以不同,取决于自己的需求。

(红色物体是可以看到的物体,绿框是实际的碰撞区域,绿框的位置、形状大小都可以进行调整)

同时所有物体默认不具备重力,在添加了Rigidbody组件之后物体就会受重力影响掉落,并且与其他的Collider组件产生碰撞

(如果没有碰到碰撞器让它停下来它就会无限下落)

  1. 了解脚本基础

语言的相关基础就不在这里写了,在Unity中入门使用脚本的话不需要太深入的知识,先介绍一下Unity中脚本的基本组成。

在下方项目资源面板中右键可以创建C#脚本,创建后立即更名。创建后打开可以看到默认脚本的格式:

注意:第五行中的PlayerControl类名需要与你创建的脚本名字相同,如果不同会导致报错,后面的MonoBehaviour为继承的类不要变动

我们编写脚本主要要在这个类中进行编写(即图中7行之后)。

其中两个默认的函数是脚本生命周期中会被运行的标志,在Unity中,一个脚本的运行会按照启动时、运行时、结束时分别进行。

写在Start中的代码会在这个脚本在被启用时自动运行一次,写在Update中的代码会在这个脚本被启动之后的每一帧都运行一次。Unity中不止有这两种生命周期,其他的先不做介绍。

自写的函数的调用不一定需要通过Start、Update这类Unity的脚本生命周期调用,也能通过其他方法调用,比如后面使用的InputSystem插件。

  1. 角色控制

新输入系统InputSystem是2019年Unity新推出的插件,我们选择他取代原本的输入管理器。

在窗口-包管理器中选择左上角的包:Unity注册表,寻找InputSystem安装,点击Yes后会重启Unity完成安装。

为物体添加组件Player Input,添加之后我们的操作就可以对应到这个物体上了。

点击物体-在查看器中的最下方添加组件,搜索Player Input进行添加。

添加后点击Create Actions…添加默认控制配置,先创建在自己喜欢或者好管理的位置即可,创建完成后的配置窗口可以先不动。

将Behavior选项选择为Invoke Unity Events,点开事件之后可以看到Player和UI选项,查看Player选项可以看到三个列表框,它们代表了我们操作后要运行的函数,运行的函数需要我们自己编写脚本。

此时在资源视图中创建一个脚本,如图进行编写:

编写完成之后的步骤是:将资源中的脚本添加到你的角色对象上->在PlayerInput组件的事件-Player-Move中点击+号,将组件中的脚本拖入出现的无(对象)框中->点开NoFunciton框选择要运行的函数(OnMove)->修改Rigidbody的Constraints,冻结所有旋转->启动游戏,点击游戏窗口,按键盘的WASD或者方向键移动物体。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值