【零基础入门unity游戏开发——2D篇】2D平台游戏地形编辑器SpriteShapeProfile——SpriteShapeRenderer和SpriteShapeController组件的使用

考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇

  • 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的同学入门。
  • 【unity通用篇】:主要讲解unity的基础通用的知识,包括unity界面、unity脚本、unity资源管理、unity动画、unity摄像机等,适合unity初学者入门。
  • 【unity3D篇】:主要讲解unity3D的知识,unity3D角色、unity3D物理系统、unity3D光照等,适合只想做2D游戏的开发者学习。
  • 【unity2D篇】unity2D篇:主要讲解unity2D的知识,包括unity2D角色、unity2D物理系统、unity2D光照等,适合只想做3D游戏的开发者学习。

这样方便大家按需选择性的去学习,比如有编程基础的大概率可以直接从unity通用篇开始入门,没有编程基础的建议从C#篇开始学习。只想做2D游戏的话,可以直接从unity2D篇开始学习,3D篇大概率就不需要看了,节约学习时间成本。

前言

1、什么是SpriteShape?

Unity 的 SpriteShape 是一种专门用于创建动态、灵活且高效的 2D 地形或路径的工具,特别适合需要自然曲线或复杂形状的场景(如平台游戏的地形、河流、道路等)。
在这里插入图片描述

2、安装SpriteShape工具

在Package Manager中导入相关工具
在这里插入图片描述
可以选择性导入示例和拓展资源
在这里插入图片描述

二、SpriteShapeProfile精灵形状配置文件

1、创建Sprite Shape Profile精灵形状配置资源

在这里插入图片描述

2、使用SpriteShapeProfile精灵形状配置文件创建地形

直接把前面创建的SpriteShapeProfile精灵形状配置文件拖到场景里。在这里插入图片描述
选择,点击编辑按钮,可以编辑物体形状
在这里插入图片描述

3、SpriteShapeProfile精灵形状配置文件参数

在这里插入图片描述

1. Use Sprite Borders 使用精灵边界

是否使用精灵边框,用于九宫格拉伸。通常默认勾选。

2. Fill 填充

在这里插入图片描述

2.1 Texture 纹理

用于填充实心部分的纹理。比如我选择一个石头图片,绘制后显示的效果如下
在这里插入图片描述
注意:只有在封闭的Sprite Shape中才会显示,也就是要取消勾选Is Open Ended
在这里插入图片描述
且所使用的纹理的平铺模式必须是Repeat重复模式。
在这里插入图片描述

2.2 Offset 偏移

填充封闭内部纹理的纹理偏移量。
在这里插入图片描述

3. 图片配置

在这里插入图片描述

  • 蓝色圆圈大图:预览不同角度范围内使用不同的图片
  • Start 起始角度
  • End 结束角度
  • Order 排序:决定精灵相交时的显示优先级。数值较高的精灵会渲染在数值较低的精灵之上。
  • Sprites 精灵列表: 分配给选定角度范围的精灵列表。显示所有分配给选定角度范围的精灵列表。列表中精灵的顺序决定了它们的精灵变体编号,从列表顶部的零开始计数。位于列表顶部的第一个精灵是控制点默认显示的精灵。

比如我设定不同角度的图片
在这里插入图片描述
绘制后的效果,后面编辑图片,只要角度变化了,会自动根据角度自动判断要显示的是哪个图。
在这里插入图片描述
注意:这里每个角度范围可以设置多个图片,后面编辑图形时可以进行切换,默认渲染第一个图。

比如90至-90度我配置了两个图片
在这里插入图片描述
后面绘制时就可以切换了
在这里插入图片描述

4. Corners 角列表

指定角显示的精灵图片。
在这里插入图片描述

  • Outer相关:外部四个角用的图片
  • Inner相关:内部四个角用的图片

比如我配置好四个外角的图片
在这里插入图片描述

绘制效果
在这里插入图片描述

三、SpriteShapeRenderer和SpriteShapeController

1、SpriteShapeRenderer精灵形状渲染器组件参数

该控件主要是控制材质、颜色以及和其他Sprite交互时的排序等信息。
在这里插入图片描述
这里参数和SpriteRenderer精灵渲染器组件很类似,不懂的去看看就行:【零基础入门unity游戏开发——2D篇】SpriteRenderer精灵渲染器组件

2、SpriteShapeController精灵形状控制器组件参数

在这里插入图片描述

2.1 Profile 配置文件

使用关联的精灵形状概述文件。
在这里插入图片描述

2.3 Detail 细节

精灵形状的质量。
在这里插入图片描述
支持高中低三种质量。

2.4 Is Open Ended 开放性

是否是开放的,不封闭的。
在这里插入图片描述

2.5 Adaptive UV 自适应UV

如果开启,会自动帮助我们判断是平铺还是拉伸

开启后只有宽度够才会平铺,如果宽度不够会拉伸。
在这里插入图片描述
不开启始终平铺,但可能会出现裁剪效果。
在这里插入图片描述
一般根据你的实际效果进行选择

2.6 Enable Tangents 使用切线

是否启用切线计算功能。如果你的着色器中需要切线信息参与计算,则勾选。一般不勾选。

2.7 Cache GeoMetry 缓存几何体

缓存数据用的,一般不勾选。

2.8 Corner Threshold 角阈值

当拐角处的角度达到这个阈值时将使用角图片。低于该阈值拐角不会
被安置。
在这里插入图片描述
决定角图片在什么范围内显示。

2.9 Stretch UV 是否拉伸UV

如果勾选,纹理的UV将伸展到整个精灵形状的直线上。

在这里插入图片描述

不勾选时封闭纹理是平铺的。

在这里插入图片描述

(1) Pixel Per Unit 每单位像素

禁用拉伸UV时才有,说明填充纹理是平铺的。
Unity单位对应多少像素,较高的值会较少纹理的大小。
值越大平铺密度越大。

(2) Worldspace UV 根据世界控件的UV填充纹理

根据世界控件的UV填充纹理。

2.10 启用编辑状态后的参数(点击编辑按钮后)

在这里插入图片描述

(1) Tangent Mode 切线模式
  • 顶点模式:点两侧不构成曲线。
    在这里插入图片描述

  • 切线模式:点两侧构成曲线,并且可以控制切线弧度。
    在这里插入图片描述

  • 左右切线模式:点两侧构成曲线,并且可以分别控制左右两侧切线弧度。
    在这里插入图片描述

(2) Position 位置:选中点的局部坐标位置。
(3) Height 高度:控制点左右两侧精灵图片的高度。

在这里插入图片描述

(4) Corner 角度

是否使用角度图片。只针对于某一个定点时候开启角图片。

在这里插入图片描述

  • Disabled:不使用角度图片。
    在这里插入图片描述

  • Automatic:自动。
    在这里插入图片描述

  • Stretched:伸展。
    在这里插入图片描述

(5) Sprite Variant:选择使用的精灵图片。

前面介绍SpriteShapeProfile时已经介绍过了,如果配置文件每个角度范围设置多个图片,后面编辑图形时可以进行切换,默认渲染第一个图。
在这里插入图片描述
后面绘制时就可以切换了
在这里插入图片描述

四、给精灵形状对象生成碰撞器

2碰撞器相关知识可以参考:零基础入门unity游戏开发——2D篇】2D物理系统 —— 2D刚体组件(Rigidbody2D)、Collision2D碰撞器、2d物理材质、ConstantForce2D恒定力

1、使用Edge Collider 2D边界碰撞器

点击边界碰撞器的编辑按钮,会自动设置碰撞器
在这里插入图片描述

2、使用Polygon Collider2D多边形碰撞器

在这里插入图片描述

五、实战

参考:【制作100个unity游戏之31】用unity复刻《登山赛车》一个爬坡2d赛车小游戏
在这里插入图片描述


专栏推荐

地址
【零基础入门unity游戏开发——C#篇】
【零基础入门unity游戏开发——unity通用篇】
【零基础入门unity游戏开发——unity3D篇】
【零基础入门unity游戏开发——unity2D篇】
【制作100个Unity游戏】
【推荐100个unity插件】
【实现100个unity特效】
【unity框架/工具集开发】

完结

好了,我是向宇,博客地址:https://xiangyu.blog.csdn.net,如果学习过程中遇到任何问题,也欢迎你评论私信找我。

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_36303853/article/details/145149292
今日推荐