# BezierTool **Repository Path**: Foldcc/BezierTool ## Basic Information - **Project Name**: BezierTool - **Description**: 通过贝塞尔曲线实现连续节点平滑曲线 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 11 - **Forks**: 7 - **Created**: 2019-03-06 - **Last Updated**: 2024-11-13 ## Categories & Tags **Categories**: charting-components **Tags**: None ## README # BezierTool 最近项目需要呈现各种轨道且随机性较强,在找了一天插件后打算自己实现平滑曲线,思路是策划对关卡中的轨道放置任意个节点,我通过代码将所有节点绘制成一条平滑的曲线,每两个节点之间通过三阶贝塞尔实现,最后获得一个位置数组,在通过数组创建mesh路面。 这篇文章将介绍如何实现两个节点之间的三次贝塞尔曲线运用。 ![三次贝塞尔实际效果](md_img/1.jpg) # 贝塞尔公式 关于贝塞尔曲线详细介绍请百度,这里直接列出三阶贝塞尔公式: ![三阶贝塞尔公式](md_img/2.jpg) 我将公式简化并封装到一个静态工具类中,需要复制即可: 为了验证工具的准确性我创建了一个测试脚本,在场景中创建4个小球模拟p0~p3,4个参数,最后写一个循环从0-1 每次增加0.01代表t的变化,最后 在二维空间中的表现如下: ![bezier1.gif](md_img/bezier1.gif) 在三维空间中的表现如下: ![bezier2.gif](md_img/bezier2.gif)