AC.DrawObjFlag

AgentComponent_VLabDrawObjFlag

可画线的物体

物体上画线的生命周期

void Init(string path)【必加】

2020-08-07 17:17:32 星期五

描述:

  • 初始化可画线物体

参数:

参数名 类型 说明
path string 可画线物体的MeshCollider路径

void InitCollision(string collisionPath)

2020-08-07 17:17:33 星期五

描述:

~~- 设置记号笔检测到collisionPath路径下的物体时,开启可画线物体的MeshCollider

如果不调用此方法,则可画线物体的MeshCollider会一直开启
collisionPath不能和Init中的路径一样~~

  • 方法已废弃2020-08-29 16:38:38 星期六

参数:

参数名 类型 说明
collisionPath string 当记号笔碰到此路径下的物体及其子物体时,开启可画线物体的MeshCollider

void SetCircleAdjust(float targetHeight, float precision)

描述:

  • 在此物体上可以做环型曲线校正

参数:

参数名 类型 说明
targetHeight float 环形曲线的高度值(相对此物体的高度)
precision float 画出的线的初始点和终点与目标高度的高度差在此值范围内时,满足矫正条件

void ClearLine()

2020-08-24 10:14:55 星期一

描述:

  • 清除物体上所有的线条

void FixSeems()

2020-08-28 15:35:13 星期五

描述:

  • 修复物体的缝合面
  • 调用此方法可修改物体的Mesh信息,在画线的时候会更流畅。物体的FBX中的Real/Write Enabled 必须是勾选的状态。

void UpdateCollider()

2020-08-29 16:37:16 星期六

描述:

  • 物体的形状变化的时候调用一次此方法。

void SetEndDrawLineCallBack(LuaFunction callBack)

2020-08-31 19:35:21 星期一

描述:

  • 设置物体上直线校正完成的回调
  • 参数为校正后直线的两端点坐标

bool HaveDrawLine()

2020-09-11 14:44:48 星期五

描述:

  • 该物体上是否存在线条

void SetEnableDraw(LuaFunction callback)

2020-09-24 18:36:51 星期四

描述:

  • 画线前的回调
  • 在这里设置物体的rigidbody.ik=true; meshcollider.enable=true;

void SetDrawStart(LuaFunction callback)

2020-10-15 15:34:35 星期四

描述:

  • 设置物体画线刚开始的回调,此时物体上已经画上线了。

void SetDrawing(LuaFunction callback)

2020-10-21 18:16:37 星期三

描述:

  • 设置画线过程中的回调

void SetAdjustComplete(LuaFunction callback)

2020-10-21 18:16:55 星期三

描述:

  • 设置矫正完成的回调

void SetLineAdjustComplete(LuaFunction callback)

2020-11-25 12:04:13 星期三

描述:

  • 直线矫正完成回调扩展
  • 回调有两个参数
  • 1、矫正完成的初始点
  • 2、矫正完成的终点

void SetDrawComplete(LuaFunction callback)

2020-10-15 15:35:13 星期四

描述:

  • 画线完成的回调(不管是否已经矫正)

void SetDisableDraw(LuaFunction callback)

2020-09-24 18:37:12 星期四

描述:

  • 画线后的回调
  • 在这里设置物体的rigidbody.ik=false; meshcollider.enable=false;

long GetDrawingPaint()

2020-10-13 10:41:33 星期二
2020-10-15 10:37:22 星期四

描述:

  • 获取正在上面画线的记号笔的EntityId
  • 如果没有正在画线的记号笔,则返回-1

long GetLastDrawPaint()

2020-10-21 18:18:40 星期三

描述:

  • 最近一次画线的记号笔的ID

void DrawFreedom(Vector3 start, Vector3 end, int paintId)

2020-10-15 11:10:09 星期四

描述:

  • 使用一个记号笔,在此物体上画一条直线

参数:

参数名 类型 说明
start Vector3 线段的两端本地坐标
end Vector3 线段的两端本地坐标
paintId ulong 记号笔的Id
    /// <summary>
    /// 设置物体上是否支持画线
    /// </summary>
    /// <param name="active"></param>
    public void SetDrawActive(bool active)

    /// <summary>
    /// 设置物体上画一个点的回调
    /// </summary>
    /// <param name="callback">画出一个点的回调,有一个参数,是点的世界坐标</param>
    /// <param name="radius">画出的线的第一个坐标为中心,以此值为半径,线上所有的点都在这个圆内时,被视为画了一个点</param>
    public void SetDrawAPointComplete(LuaFunction callback, float radius)

    /// <summary>
    /// 使用一个记号笔,在此物体上画一个点
    /// </summary>
    /// <param name="point">世界坐标下的一个点,朝下方发射一条射线,在碰到的第一个物体上打一个点</param>
    /// <param name="paintId">记号笔的entityId</param>
    public void DrawFreeAPoint(Vector3 point, ulong paintId)