Unity技术-2D项目经验
👉关于作者
众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
欢迎关注公众号【空名先生】获取更多资源和交流!
👉前提
这是小空坚持写的Unity新手向系列,欢迎品尝。
小空为了方便更多的人(新手)看明白,使用的汉字,真实项目尽量使用英文规则昂。
新手(√√√)
大佬(√)
👉实践过程
地图可以瓦片地图-Tilemap
碰撞体中有个Tilemap Collider,是专门的瓦片碰撞体
如果有的不需要刚体,那么就需要在创建一个Tilemap,这个放全部不需要刚体的物品,改改显示层级啥的。不够的话就再加。
还有一个,如果是一个瓦片地图的话,有的不需要碰撞则去找到这个瓦片图片,修改碰撞类型为None即可
当有多个瓦片地图的时候,利用焦点瓦片突出的,可以快速看出布局内容
Sprite Editor切图有个小技巧:就是尽量利用自定义的尺寸来切割,比如下面这个,当你需要重复利用的时候,想要组成个很长的桥,那么这个倒L就不太适应了。
所以你可以利用,选择合适的像素大小,切成这样
到时候你想要组装或拉长的时候,就可以利用里面的小格了。
Tile Palette(平铺调色板),将切片后的精灵放到这个调色板厚,你随便在里面选择就可以在场景中贴上对应的内容了。
2D图层概念 可以有多个图层,每个图层里面又可以排序 图层是越往下越靠屏幕前,排序越大越靠屏幕前
当你移动发现2D内容旋转了的话,是因为刚体没有冻结旋转
要想创建动画,必须在场景中选中对应的物体才能在动画编辑窗口中有内容
当你在空中碰撞了物体不松开移动按键的时候,可能会一直表现为悬空状态,这是因为默认碰撞体之间是有摩擦力存在的,这个时候你可以创建一个2D物理材质-将Friction(摩擦)改为0,然后将这个材质赋值给人物的2D碰撞脚本里面的变量来解决。
但是这样做就有可能造成另一种情况,就是在滑坡上人物无法坚持挺住,因为没有了摩擦会慢慢下滑到平面。如果还要精细处理就是预制体里面详细的调整了。
人物的移动跳跃下降等动画切换的时候如果显示表现上不正确,很可能是状态机切换线里面的退出时间造的孽。其他的动画也是类似的。其实多数情况下不需要有退出时间。
当一个碰撞勾上了是触发器的时候,在代码中可以回调OnTrigger等几个回调方法
如果是碰撞函数的话,则是OnCollision等几个函数方法
人物的移动代码完善优化
- 将相关移动代码放到FixedUpdate函数中
- 代码修改的跳跃力(Rigidbody2D组件变量.velocity属性改变y值)和重力(Rigidbody 2D组件中里面有重力变量属性)有相互作用影响,就好比人处在地球和月球,人的跳跃力不变的话,在地球重力大,表现为跳的低下降的快,在月球重力小,表现为跳的高下降的慢
- 跳跃代码在FixedUpdate中,需要按好多次才能跳
- 当人物只有一个方块碰撞的时候,容易出现卡住的情况,只要人物上方是方块碰撞,下半身是圆碰撞即可。
👉其他
📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:芝麻粒儿 的个人主页 - 专栏 - 掘金 (juejin.cn)
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。
- 点赞
- 收藏
- 关注作者
评论(0)