15291人加入学习
(80人评价)
Unity最全最完整的零基础入门教程-Luna's Fantasy(露娜的大冒险)

制作完成于2023年8月1日,基于Unity2023.1.1

价格 免费

Animator Contorller:根据当前游戏对象的状态控制播放对应的游戏动画,也叫动画状态机

[展开全文]

访问级别的用法

函数的调用,声明、签名、重载

变量的赋值顺序

触发器

触发检测

实战血瓶

各种运算符,访问组件、物体、怎么通过访问其他组件

属性内容

 

[展开全文]

属性对对象的作用和意义为:限制来自外部的访问和修改

[展开全文]

Destroy(gameObject);

直接销毁即可

gameobject,就是脚本挂载的游戏对象,是 unity内置的 

脚本里访问的组件都是该物体的组件

 

获得了luna的对象,即可以通过

对象名.object,获取这个对象的物体,进而销毁:Destroy(对象名.gameObject);

 

百分之八十的错误,控制台都能说的很清楚

[展开全文]

collision 是露娜身上的一个组件,有一个可以获取的组件,就一定可以获取其他组件

输出的信息检测到的是 Boxcollider2d的组件,2d有很多内容,boxcollider是其中一种

获取对象的其中一个属性(分支),我们就可以通过这个分支,获取整个对象

对象名.GetComponene<对象类名>();

[展开全文]

触发检测的必要条件

1. 都要有碰撞器

2. 其中一方有刚体(最好运动)

3. 其中一个boxcollider一定是触发器

(把boxCollider 下面的 is Trigger 勾选)

触发器是触发某些事情的机关(机关、事件、事情)吃血包会回血,触发boss战

很多业务逻辑需求都要用触发器

 

有触发器,脚本里才能有作用,接触一次,触发一次

unity脚本只要有函数,就自己帮你调用了,原理不用管,知道干嘛的就行(能开发引擎再说)

[展开全文]

先后顺序的问题,可能会造成项目直接崩盘

 

2. 在代码里写的赋值顺序

先执行代码

1.在显示面板的赋值顺序

再执行显示面板

3. start方法的赋值顺序

再实行start

4. update方法的赋值顺序

update 一定是最后执行的

 

三个地方只在一个地方赋值,要么在最开始赋值、要么在检视面板里调,huo

[展开全文]

返回值void只会执行代码,不会有返回值

可以给函数上返回值

函数签名(访问级别、返回值、名字、参数)

函数可以重载,只是参数不同,但是不可以有两个参数相同的函数。知道大概的函数是做什么的就可以,哈桑农户的重载是

[展开全文]

定义了最大生命值

访问级别:所有类型和类型成员都具有可访问级别,用来判断是否可以允许我们访问某些成员变量和方法。可使用访问修饰符来指定生命类型或成员的可访问性

public公共的 可以外部访问,会显示到面板

private私有的  只用于内嵌类或成员的

protect保护的 只用当前类 或子类中

int 存整数的类型

float 存小数的类型

所有准备工作放到start(),告诉他初始是什么

c#默认的访问修饰符是private,不加也没问题,但还是加上比较好,加上之后更清晰,更容易理清

自定义方法

级别 + 类型 + 名称(参数)

名称尽量使用动词,首字母大写

 

 

 

[展开全文]

unity 的物理系统,模拟现实的碰撞,受力

righidbody(刚体组件),使游戏物体可受力,重力,扭力等等。(刚体不发生碰撞检测,不运动会休眠的,所以只挂载在运动物体即可)

刚体也能发生角度旋转,改变组件constraints锁定组件

boxcollider 2D组件(碰撞器组件)

自己编写的代码和物理系统的代码有冲突,所以用物理系统的代码进行输出即可

静态方法是用 类名.方法名(参数),全局访问,不用实例

普通方法是对象名 . 方法名字

编辑体,

[展开全文]

unity的组件是 unity开发的脚本,本质上和我们写的脚本是一样的

所以二者冲突,发生抖动 

//设定一个box..2D的小狗变量,然后就可通过.把对应的组件里东西点出来
//BoxCollider2D dog = GetComponent<BoxCollider2D>();

 

//GetComponent是获取组件的意思,<>里填组件类型

//静态方法使用:类名. 方法名

//普通方法 / 变量方法:对象名. 方法名

 

静态方法就是和程序生命周期同生共死,随时使用的

[展开全文]

1.访问unity中国官网unity.cn(unity.com是国际网站,不适合初学者)

2.点击下载unity;

3.下载Unity前先要下载一个Unity hub,这可以帮助你更好的管理项目,也可以帮助你更好的下载各种版本的Unity,Unity版本更新快,紧随潮流。

4.先点击下载hub,再弹出的页面登陆自己的unityID,如果没有,可以通过页面的下方点击注册,使用自己的手机号或电子邮箱进行注册。

5.注册好之后,右上角登陆账号,如果出现头像说明成功了,再次点击下载hub,打开文件安装目录,双击unity hub软件安装包,弹出界面后点击我同意,然后设置好安装目录,再点击安装就可以了,如果默认安装地址位置内存够的话,可以直接安装。

6.等待安装完毕后,桌面上会出现快捷图标,如果没有的话可以去软件根目录里找,双击打开hub,点击安装,安装2023.x型号中的版本,最好是2023.1.1。

7.安装成功即可。

[展开全文]

collider2d组件中 有 Edit colliber,用来编辑碰撞体的大小

 

因为移动的时候总是z轴在旋转,所以

Rigidbody 2D → Constraints 锁死Z轴 

 

发生碰撞的条件:必须都有碰撞器,且一方有刚体,最好是运动的一方,因为unity为了性能的优化,因刚体长时常不发生碰撞检测会休眠

 

上下抖动是因为刚体系统碰撞 和 代码 的冲突

所以直接控制刚体组件让他移动即可

[展开全文]

添加刚体组件后,物体新增了重力

但是2d不需要重力

刚体组件:获得重力、接受外界的阻力和扭力、通过脚本或是物理引擎为游戏对象田间刚体组件

碰撞器:使游戏物体 具有 跟 挂载刚体组件 的 游戏物体 发生碰撞 能力 的组件

collide(不要忘记也)

[展开全文]

物理系统,欸嘿。

《力学基础》

2d刚体组件,是unity中给2D物体模拟物理特性的组件

 

[展开全文]

子体 通过 override 也可以修改母体 

文件无法通过z撤回,引擎里的修改可以撤回,修改文件之后就无法撤回了

 

总结:

预制体很好用,是一个非常重要的概念

回顾

改2d游戏的渲染顺序,改变轴向,Edit

轴心点概念

精灵渲染的顺序点

[展开全文]

预制体:unity 的特殊资源、是一个或者一系列组件的集合体,可以使用预制体实例化克隆体、后续可以对克隆体属性进行统一修改

 

母体 和 字体的意思

把场景物体拖进project就变成预制体

把预制体反打包

右键 → prefabs → unpack compelete

[展开全文]

面对走来走去的玩家和NPC,我们该如何去控制渲染顺序,

Edit → setting → Transparency Sort Mode改成 Custom Axis(然后弹出可设置参数)

分别代表根据 X\Y\Z渲染,只与正负号有关,与具体值无关

覆盖自然与否与轴心点相关,是根据轴心点计算的

[展开全文]

上次遇到了不会显示的问题,怎么调顺序????

 

深度问题(z轴的值问题)不知道先渲染谁了?渲染决定层级顺序

解决的办法:绝对不是2d转3d,调整z轴来调整关系(虚晃一招)

层级,在SpriteRenderer组件中的Order in Layer词条

把个别建筑物fan

[展开全文]