Vector3

来源:互联网 发布:js select 获取选中值 编辑:程序博客网 时间:2024/06/04 20:17

#region 程序集 UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
// D:\Unity\Work\DongXiang_p4\Library\UnityAssemblies\UnityEngine.dll
#endregion

using System;
using System.Reflection;
using UnityEngine.Internal;

namespace UnityEngine
{
    [DefaultMember("Item")]
    public struct Vector3
    {
        public const float kEpsilon = 1E-05F;

  //x,y,z
        public float x;
        public float y;
        public float z;

  
  //构造
        public Vector3(float x, float y); 
        public Vector3(float x, float y, float z);
  

        public float this[int index] { get; set; }//下标[0][1][2]代表x,y,z    Vector3 v3 = new Vector3(0, 0, 0); v3[0] = 1;
      

  
  //单位向量
        public static Vector3 back { get; }//前后
        public static Vector3 forward { get; }
  
        [Obsolete("Use Vector3.forward instead.")]//弃用
        public static Vector3 fwd { get; }

        public static Vector3 left { get; }//左右
  public static Vector3 right { get; }
  
  public static Vector3 down { get; }//上下
        public static Vector3 up { get; }
  

        public static Vector3 one { get; }
        public static Vector3 zero { get; }//零向量

        public float magnitude { get; }//向量长度

        public Vector3 normalized { get; }//向量单位向量

        public float sqrMagnitude { get; }//向量长度平方

  public static float Angle(Vector3 from, Vector3 to);//两向量角度[0-180]

        public static Vector3 ClampMagnitude(Vector3 vector, float maxLength);//返回向量,长度不超过maxLength

        public static Vector3 Cross(Vector3 lhs, Vector3 rhs);//向量叉乘
  public static float Dot(Vector3 lhs, Vector3 rhs);//两向量点乘,为(|a| * |b| * cos(angle))
  
        public static float Distance(Vector3 a, Vector3 b);//两点间距离
  
 
        public static Vector3 Lerp(Vector3 from, Vector3 to, float t);//实现平滑移动
  
        public static float Magnitude(Vector3 a);某向量大小

        public static Vector3 Max(Vector3 lhs, Vector3 rhs);//两向量中的最大最小向量
        public static Vector3 Min(Vector3 lhs, Vector3 rhs);

        public static Vector3 MoveTowards(Vector3 current, Vector3 target, float maxDistanceDelta);//current向 target移动,maxDistanceDelta为每秒的距离

        public static Vector3 Normalize(Vector3 value);//某向量单位向量
  
        public static void OrthoNormalize(ref Vector3 normal, ref Vector3 tangent);
        public static void OrthoNormalize(ref Vector3 normal, ref Vector3 tangent, ref Vector3 binormal);

        public static Vector3 Project(Vector3 vector, Vector3 onNormal);//vector 在 onNormal 上的投影

        public static Vector3 ProjectOnPlane(Vector3 vector, Vector3 planeNormal);//投影vector到以planeNormal为法向量的平面上

        public static Vector3 Reflect(Vector3 inDirection, Vector3 inNormal);

        public static Vector3 RotateTowards(Vector3 current, Vector3 target, float maxRadiansDelta, float maxMagnitudeDelta);

        public static Vector3 Scale(Vector3 a, Vector3 b);
  
        public static Vector3 Slerp(Vector3 from, Vector3 to, float t);
  
        [ExcludeFromDocs]
        public static Vector3 SmoothDamp(Vector3 current, Vector3 target, ref Vector3 currentVelocity, float smoothTime);
  
        [ExcludeFromDocs]
        public static Vector3 SmoothDamp(Vector3 current, Vector3 target, ref Vector3 currentVelocity, float smoothTime, float maxSpeed);
  
        public static Vector3 SmoothDamp(Vector3 current, Vector3 target, ref Vector3 currentVelocity, float smoothTime, [DefaultValue("Mathf.Infinity")] float maxSpeed, [DefaultValue("Time.deltaTime")] float deltaTime);
  
        public static float SqrMagnitude(Vector3 a);
  
        public override bool Equals(object other);
  
        public override int GetHashCode();

        public void Scale(Vector3 scale);

        public override string ToString();
        public string ToString(string format);

  //操作符
        public static Vector3 operator +(Vector3 a, Vector3 b);
        public static Vector3 operator -(Vector3 a);
        public static Vector3 operator -(Vector3 a, Vector3 b);
        public static Vector3 operator *(float d, Vector3 a);
        public static Vector3 operator *(Vector3 a, float d);
        public static Vector3 operator /(Vector3 a, float d);
        public static bool operator ==(Vector3 lhs, Vector3 rhs);
        public static bool operator !=(Vector3 lhs, Vector3 rhs);

 }
}
http://blog.csdn.net/liuyang_sy/article/details/46797941

0 0
原创粉丝点击