Unity技术 - 2D项目经验

往期文章分享
  • 点击跳转=>《导航贴》- Unity手册,系统实战学习
  • 点击跳转=>《导航贴》- Android手册,重温移动开发

本文约3.5千字,新手阅读需要13分钟,复习需要5分钟收藏随时查阅不再迷路

关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎私我,交流群让学习不再孤单

Unity技术 - 2D项目经验_第1张图片

前提

这是小空坚持写的Unity新手向系列,欢迎品尝。

小空为了方便更多的人(新手)看明白,使用的汉字,真实项目尽量使用英文规则昂。

新手(√√√)

大佬(√)

实践过程

地图可以瓦片地图-Tilemap

碰撞体中有个Tilemap Collider,是专门的瓦片碰撞体

如果有的不需要刚体,那么就需要在创建一个Tilemap,这个放全部不需要刚体的物品,改改显示层级啥的。不够的话就再加。

还有一个,如果是一个瓦片地图的话,有的不需要碰撞则去找到这个瓦片图片,修改碰撞类型为None即可

Unity技术 - 2D项目经验_第2张图片

当有多个瓦片地图的时候,利用焦点瓦片突出的,可以快速看出布局内容

Unity技术 - 2D项目经验_第3张图片

Sprite Editor切图有个小技巧:就是尽量利用自定义的尺寸来切割,比如下面这个,当你需要重复利用的时候,想要组成个很长的桥,那么这个倒L就不太适应了。

Unity技术 - 2D项目经验_第4张图片

所以你可以利用,选择合适的像素大小,切成这样

Unity技术 - 2D项目经验_第5张图片

到时候你想要组装或拉长的时候,就可以利用里面的小格了。

Tile Palette(平铺调色板),将切片后的精灵放到这个调色板厚,你随便在里面选择就可以在场景中贴上对应的内容了。

2D图层概念 可以有多个图层,每个图层里面又可以排序 图层是越往下越靠屏幕前,排序越大越靠屏幕前

当你移动发现2D内容旋转了的话,是因为刚体没有冻结旋转

Unity技术 - 2D项目经验_第6张图片

要想创建动画,必须在场景中选中对应的物体才能在动画编辑窗口中有内容

Unity技术 - 2D项目经验_第7张图片

Unity技术 - 2D项目经验_第8张图片

当你在空中碰撞了物体不松开移动按键的时候,可能会一直表现为悬空状态,这是因为默认碰撞体之间是有摩擦力存在的,这个时候你可以创建一个2D物理材质-将Friction(摩擦)改为0,然后将这个材质赋值给人物的2D碰撞脚本里面的变量来解决。

Unity技术 - 2D项目经验_第9张图片
但是这样做就有可能造成另一种情况,就是在滑坡上人物无法坚持挺住,因为没有了摩擦会慢慢下滑到平面。如果还要精细处理就是预制体里面详细的调整了。

人物的移动跳跃下降等动画切换的时候如果显示表现上不正确,很可能是状态机切换线里面的退出时间造的孽。其他的动画也是类似的。其实多数情况下不需要有退出时间。

Unity技术 - 2D项目经验_第10张图片

当一个碰撞勾上了是触发器的时候,在代码中可以回调OnTrigger等几个回调方法
如果是碰撞函数的话,则是OnCollision等几个函数方法

人物的移动代码完善优化

  1. 将相关移动代码放到FixedUpdate函数中
  2. 代码修改的跳跃力(Rigidbody2D组件变量.velocity属性改变y值)和重力(Rigidbody 2D组件中里面有重力变量属性)有相互作用影响,就好比人处在地球和月球,人的跳跃力不变的话,在地球重力大,表现为跳的低下降的快,在月球重力小,表现为跳的高下降的慢
  3. 跳跃代码在FixedUpdate中,需要按好多次才能跳
  4. 当人物只有一个方块碰撞的时候,容易出现卡住的情况,只要人物上方是方块碰撞,下半身是圆碰撞即可。

其他

作者:小空和小芝中的小空
转载说明-务必注明来源:https://zhima.blog.csdn.net/
这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气,日后定有一番大作为!!!旁边有点赞收藏今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

温馨提示点击下方卡片获取更多意想不到的资源。
Unity技术 - 2D项目经验_第11张图片

你可能感兴趣的:(Unity3D效果实例,unity,游戏引擎)