添加了多种对程序流程控制与保全的脚本,而且现在可以更快速的构建一个具有线性关系的协程了。 添加了一个支持多种模式的单维梯度控制器,类似unity的颜色梯度类型。 添加了一个用于看向某个物体的旋转控制器。 添加了一个加载宏。 完善了批处理脚本流程。
41 lines
884 B
C#
41 lines
884 B
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace XericLibrary.Runtime.MacroLibrary
|
|
{
|
|
/// <summary>
|
|
/// 矢量宏库
|
|
/// </summary>
|
|
[Obsolete("与扩展库放在一起,不要单独出现")]
|
|
public static class MacroVector3
|
|
{
|
|
/// <summary>
|
|
/// 获取与世界正交轴最近的一条轴线
|
|
/// </summary>
|
|
/// <param name="vector"></param>
|
|
/// <returns></returns>
|
|
|
|
public static Vector3 GetWorldNormalAxis(Vector3 vector)
|
|
{
|
|
Vector3[] axes = { Vector3.right, Vector3.up, Vector3.forward };
|
|
float minAngle = float.MaxValue;
|
|
Vector3 minAngleAxis = Vector3.zero;
|
|
|
|
foreach(Vector3 axis in axes)
|
|
{
|
|
float dot = Vector3.Dot(vector, axis);
|
|
float angle = Mathf.Abs(dot);
|
|
if(angle < minAngle)
|
|
{
|
|
minAngle = angle;
|
|
minAngleAxis = axis * Mathf.Sign(dot);
|
|
}
|
|
}
|
|
|
|
return minAngleAxis;
|
|
}
|
|
}
|
|
}
|