尝试splines制作卡牌游戏
安装Splines
Unity 的 Splines 工具 是一套用于创建、编辑和使用平滑曲线的内置系统,主要用于路径动画、物体运动轨迹、程序化生成等场景
选取三个点,并设成对称位置,像使用PS的钢笔工具一样拉成一条曲线
然后使用移动工具,点击中间的那个点并点击splines工具,选择Bezier(贝塞尔曲线)里的Mirrored
1. Bezier 切线模式(Tangent Modes)
当 Knot 的 Tangent Mode 设为 Bezier 后,可以进一步选择三种 Bezier 子模式
| 模式 | 行为 | 适用场景 |
|---|---|---|
| Mirrored | In/Out 切线方向相反、长度相等。移动一侧切线,另一侧同步镜像变化。Knot 自身始终朝向 Out 切线方向。 | 需要平滑对称曲线(如道路、管道) |
| Continuous | In/Out 切线方向相反、长度独立。方向保持 180° 对齐,但可以分别调整两侧长度。 | 需要一侧曲率强、一侧曲率弱的过渡 |
| Broken | In/Out 切线完全独立,方向和长度均可自由调整,互不影响。 | 需要尖锐转角或不对称形状 |
关键细节
-
Knot 朝向:在 Mirrored 和 Continuous 模式下,Knot 的旋转始终指向其 Out 切线方向。如果你旋转 Knot,切线会跟着旋转;如果你移动切线,Knot 会自动调整朝向以指向 Out 切线
。
-
设置时的对齐基准:通过 API
SetTangentMode(int index, TangentMode mode, BezierTangent main = BezierTangent.Out)设置时,第三个参数main决定以哪一侧切线为基准进行对齐。默认以 Out 为准,也可以指定为 In。
2. In / Out 切线
每个 Knot 有两条切线
- In Tangent:定义进入该 Knot 的线段的曲率
- Out Tangent:定义离开该 Knot 的线段的曲率
在 Element Inspector 中可以直接调整:
- Magnitude(长度):影响切线对曲线的影响力,值越大曲线越"被拉扯"
- Direction(方向):切线从 Knot 指出的方向
3. Reverse Spline Flow(反转曲线流向)
这个功能会整体反转 Spline 的方向,产生以下效果
| 变化项 | 说明 |
|---|---|
| Knot 索引反转 | 第一个 Knot 变成最后一个,最后一个变成第一个 |
| In/Out 切线互换 | 对于 Bezier 模式的 Knot,原来的 In 切线变成 Out 切线,反之亦然 |
| 视觉箭头反向 | Scene 视图上的流向箭头全部反向 |
沿X轴拖动这个黄色的圈改变曲线形状直到形成一个好看的弧度,然后搭载相关脚本
然后将其移动到界面的底部充当手牌区域,启动游戏,按下空格键生成卡牌
然后实现自定义ScriptableObject 对象
[CreateAssetMenu(menuName = "Data/CardData")]





