21411人加入学习
(187人评价)
Unity2D 官方入门案例 - Ruby's Adventure

制作完成于2020年5月5日,基于Unity2019.3

价格 免费

可以在animator面板里选择+添加float变量实现在direction的变化下进行fang'xiang'diao'huan

[展开全文]

布尔类型:游戏中mou'zhong'zhuang'tai'de'yi'zhong'kai'guan

[展开全文]

API:方法

触发检测的其他几个方法:使用ontriggerstay2d

为Ruby添加无敌时间,防止ruby一瞬间就挂了

[展开全文]

trigger(触发器):触发某一个事件的机关(在box collider 2d里)

[展开全文]

创建地形碰撞器并合并

可以直接给tilemap添加tilemap collider碰撞器组件,如果不想要某些瓦片添加碰撞器可以直接将该瓦片的collider type改为none

如果想要碰撞器连起来可以添加composite collider 2d这个组件然后再tilemap collider组件上勾选上used by composite

需要将rigidbody 2d里的body类型改为static静态,否则会出现世界被ruby推动的xiao'hau

[展开全文]

碰撞体“卡角”问题解决

将碰撞体调整到合适的大小

此外,可以创建一个碰撞器来使ruby无法“跳河”

[展开全文]

静态方法的调用:类名.方法名(参数),全局可访问,不需要实例

普通(成员变量)方法的调用:对象名.方法名(参数),需要实例

[展开全文]

关于使用unity本身的物理移动之后移速变慢的解决方法

将Update方法换成FixedUpdate方法,其他目前不变

使用getcomponent方法可以调取到指定的组件

[展开全文]

修复Ruby移动抖动问题

抖动发生的原因是因为unity的物理引擎的代码与我们自己制作的c#的代码chong'tu

[展开全文]

修复Ruby的旋转问题

在盒子的碰撞器的脚本里选择edit collider,拉动绿点调整碰撞器的大小,可以调整碰撞体积

旋转问题:在预制体中rigidbody中选中constraints,将z打勾,使z轴dong'jie

[展开全文]

发生碰撞检测的条件

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

 

[展开全文]

刚体与碰撞器

rigidbody(刚体组件):使游戏物体能获得重力,接受外界的受力和扭力功能的组件,可以通过脚本或者是物理引擎为游戏对象添加刚体组件

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

 

[展开全文]

可以在预制体子体的overrides里将子体的修改效果应用到母体上从而改变所有子体的效果

 

[展开全文]

预制体的制作

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

 

[展开全文]

sprite sort point-pivot轴心点:是可以自定义的特殊点,充当精灵的锚点,精灵以此为支点进行旋转,坐标点位置则是指轴心点的位置

[展开全文]

根据自定义轴向控制sprite的渲染

要做到覆盖一部分的效果需要edit-project settings-graphics-camera settings-将transparency sort mode设置为Custom Axis然后调整该sprite的y坐标来实现只遮挡一部分的功能(谁的Y轴坐标大,就后画谁)

场景与sprite之间的渲染适合用层级,而精灵与精灵之间的渲染适合用transparency sort mode来渲染

[展开全文]

渲染顺序与层级设置

有时候角色会被盖住可能与深度有关,即z轴

如果处于同一个深度之下,那么就很有可能会被盖住

如果不使用z轴来调整则需要涉及到层级

layer(层级):可以在2D游戏物体中的spriteRenderer和地形TilemapRenderer组件中的Order in 拉野属性中去设置层级的大小,值越大,越后渲染,值越小,越先渲染,值大的物体会覆盖值小的游戏物体

层级顺序可以使用inspector里的Additional settings中的order in layer来调整

 

[展开全文]

授课教师

SiKi学院老师

课程特色

视频(173)
图文(2)
下载资料(3)