• Stars
    star
    130
  • Rank 276,288 (Top 6 %)
  • Language
    C#
  • License
    MIT License
  • Created over 3 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

UGUI Graphics Library for Unity. UGUI 图形库,绘制点、线、箭头、三角形、正方形、圆形、扇形、环形、椭圆形等其他常见的图形。

XUGL

UGUI Graphics Library for Unity.
UGUI 图形库。

一款孵化自XChartsUGUI图形库,可绘制点、线、面等其他常见的图形。通过重载 UGUIOnPopulateMesh() 重新填充顶点缓冲区来实现绘制自定义图形效果。

API

UGL.DrawArrow( ) 画箭头
UGL.DrawLine( ) 画直线
UGL.DrawDashLine( ) 画虚线
UGL.DrawDotLine( ) 画点线
UGL.DrawDashDotLine( ) 画点划线
UGL.DrawDashDotDotLine( ) 画双点划线
UGL.DrawZebraLine( ) 画斑马线
UGL.DrawDiamond( ) 画菱形(钻石形状)
UGL.DrawSquare( ) 画正方形
UGL.DrawRectangle( ) 画带长方形
UGL.DrawQuadrilateral( ) 画任意的四边形
UGL.DrawRoundRectangle( ) 画圆角矩形
UGL.DrawBorder( ) 画边框
UGL.DrawTriangle( ) 画三角形
UGL.DrawCricle( ) 画圆
UGL.DrawEmptyCricle( ) 画空心圆
UGL.DrawSector( ) 画扇形
UGL.DrawRoundCap( ) 画圆帽
UGL.DrawDoughnut( ) 画圆环
UGL.DrawCurves( ) 画贝塞尔曲线
UGL.DrawEllipse( ) 画椭圆

使用

通过源码或Package Manager的方式导入XUGL
自定义类继承自UGUIGraphic,或相关的可重载 OnPopulateMesh() 的类。

public class UGLExample : MaskableGraphic
{
}

重载 OnPopulateMesh(), 用 XUGL 重新填充 UGUI 的顶点缓冲区数据。

protected override void OnPopulateMesh(VertexHelper vh)
{
    Vector3 sp, cp, ep;
    vh.Clear();

    //背景边框
    UGL.DrawSquare(vh, m_Center, m_Width / 2, m_BackgroundColor);
    UGL.DrawBorder(vh, m_Center, m_Width, m_Height, 10, Color.green, 0, m_BorderRadius);

    //点
    UGL.DrawCricle(vh, m_LeftTopPos + new Vector3(20, -20), 10, m_DrawColor);

    //直线
    sp = new Vector3(m_LeftTopPos.x + 50, m_LeftTopPos.y - 20);
    ep = new Vector3(m_LeftTopPos.x + 250, m_LeftTopPos.y - 20);
    UGL.DrawLine(vh, sp, ep, 3, m_DrawColor);

    //3点确定的折线
    sp = new Vector3(m_LeftTopPos.x + 20, m_LeftTopPos.y - 100);
    cp = new Vector3(m_LeftTopPos.x + 200, m_LeftTopPos.y - 40);
    ep = new Vector3(m_LeftTopPos.x + 250, m_LeftTopPos.y - 80);
    UGL.DrawLine(vh, sp, cp, ep, 5, m_DrawColor);
}

完整代码请查阅ExamplesUGLExample.cs

更新日志

  • (2022.12.28) 优化扇形和环形的带边框绘制
  • (2021.11.01) 增加绘制椭圆支持
  • (2021.11.01) 优化大部分绘图接口
  • (2021.09.12) 增加绘制对称圆角支持
  • (2021.09.12) 增加绘制渐变线段支持
  • (2021.08.02) 增加斑马线、点线和点划线的渐变支持
  • (2021.04.26) 增加渐变边框支持
  • (2021.04.24) Initial

Licenses

MIT License

More Repositories

1

ExportSceneToObj

Export unity scene or FBX to obj file. 导出Unity的场景或FBX到obj文件。
C#
242
star
2

LuaBT

LuaBT是一款可作为服务端AI实现的行为树方案,是NodeCanvas行为树的Lua实现,支持Unity编辑、运行预览和前后端调试。
C#
89
star
3

XGame

一款提供各种主流技术方案的Unity手游框架。包含服务端、客户端等模块,采用C++、C#、Lua语言开发。(持续开发中,适合入门学习或参考)
Batchfile
55
star
4

XGame-XClientLua

XGame游戏解决方案:客户端Lua代码
Lua
4
star
5

XGame-XClient-AssetsSrc

XGame游戏解决方案:客户端Unity的Assets目录下的Src
C#
2
star
6

XGame-XPublicLua

XGame游戏解决方案:前后端共用的Lua代码
Lua
2
star
7

XGame-XDriver

XGame游戏解决方案:底层C++驱动代码
C
2
star
8

XGame-XClient-Packages

XGame游戏解决方案:客户端Unity的Packages目录
C#
2
star
9

XGame-XConfig

XGame游戏解决方案:配置数据
1
star
10

XGame-XClient-AssetsResScene

XGame游戏解决方案:客户端Unity的Assets目录下的ResScene
1
star
11

XGame-XClient-AssetsResPublic

XGame游戏解决方案:客户端Unity的Assets目录下的ResPublic
1
star
12

XGame-XServer

XGame游戏解决方案:服务端Lua代码
Lua
1
star
13

XGame-XClient-ResAB

XGame游戏解决方案:客户端Unity的ResAB目录
1
star
14

XGame-XClient-AssetsResUI

XGame游戏解决方案:客户端Unity的Assets目录下的ResUI
1
star
15

XGame-XClient-AssetsPlugins

XGame游戏解决方案:客户端Unity的Assets目录下的Plugins
C++
1
star
16

XGame-XClient-AssetsResModel

XGame游戏解决方案:客户端Unity的Assets目录下的ResModel
1
star
17

XGame-XClient-ProjectSettings

XGame游戏解决方案:客户端Unity的Packages目录
1
star
18

XGame-XClient-AssetsEditor

XGame游戏解决方案:客户端Unity的Assets目录下的Editor
1
star
19

XGame-XClient-AssetsResEffect

XGame游戏解决方案:客户端Unity的Assets目录下的ResEffect
1
star