《UnityAPI.Mathf数学函数》
版本 | 作者 | 参与者 | 完成日期 | 备注 |
UnityAPI_Mathf_V01_1.0 | 严立钻 |
| 2020.07.12 |
|
|
|
|
|
|
#《UnityAPI.Mathf数学函数》发布说明:
++++“UnityAPI.Mathf数学函数”是对UnityAPI中Mathf数学函数类的剖析和拓展;
立钻哥哥:Unity是一个入门快、提高难的游戏引擎,想要提升能力,至少需要越过3道坎:API+Shader+综合能力;++1、API的积累:对API的合理利用不仅可以减轻自己的编码负担,而且往往可以提高程序的运行效率;这也是钻哥开始“Unity API”独立打造分类的初衷; ++2、Shader编程:想要做出一款精品游戏往往需要有高效的Shader的支持;Unity提供了一套改良的“Shader Lab”系统,优化了繁杂的“Open GL”编程; ++3、综合能力(技术+业务+管理):一款产品的制作除了功能编程外,往往会涉及很多其他领域,例如产品架构、UI交互设计、模型制作等,作为主要的编程人员,对其他相关领域的了解程序往往会影响到产品制作直至最后的产品体验; ++++立钻哥哥一直在推动【VR云游戏=Unity+SteamVR+云技术+5G+AI】,这个只是一个引子,抛砖引玉让大家对整个知识体系有一个明确的落地方向,宝宝们可以根据自己的兴趣方向进行拓展:比如Unity这里是指一种“3D游戏引擎”,也可拓展至“UE4、Cocos2dx”等游戏引擎;SteamVR是一种跨硬件解决方案,也可拓展至“VRTK”等第三方插件;“云技术+5G”是一种跨平台解决方案的核心技术,同样可拓展至其他平台解决方案;AI也是一种先进技术的举例,也可以拓展至任何一种前沿技术; |
@@提示:有些博客可能只是开了头,如果感兴趣的同学,可以“点赞”或“评论区留言”,只要关注的同学多了,那就会继续完善哟!(“++==”,表示没有写完的,如果关注度不高就不完善了;“++ok++”,表示此篇博客已经完成,是阶段性完整的!)
$$$$博客溯源:
++++VR云游戏=Unity+SteamVR+云技术+5G+AI;(说明:AI人工智能不是我们的主要研究技术,只是了解一下,领略一下有风的感觉!但是,VR是我们的研究重点)
++++【Unity API】分类:https://blog.youkuaiyun.com/vrunsoftyanlz/category_7637520.html
++++【Unity开发基础】分类:https://blog.youkuaiyun.com/vrunsoftyanlz/category_7309057.html
++++【Linux系统编程】分类:https://blog.youkuaiyun.com/vrunsoftyanlz/category_9694767.html
++++【C++C铸就生存利器】分类:https://blog.youkuaiyun.com/vrunsoftyanlz/category_9325802.html
++++【人工智能AI2026】分类:https://blog.youkuaiyun.com/vrunsoftyanlz/category_9212024.html
++++【立钻哥哥优快云空间】:https://blog.youkuaiyun.com/VRunSoftYanlz/
#Mathf数学函数
#Mathf数学函数 |
#Mathf数学函数++A1、Description描述++B2、Variables变量++C3、Public Function共有函数++D4、Message消息 |
#A1、Description描述
#A1、Description描述 |
++A1、Description描述
++++立钻哥哥:Mathf(数学函数)是常见的数学函数集合;
++++[namespace]:;
++++[Inherits from]:;
#B2、Static Variables静态变量
#B2、Static Variables静态变量 |
++B2、Static Variables静态变量++++B2.1、Deg2Rad++++B2.2、Epsilon++++B2.3、Infinity++++B2.4、NegativeInfinity++++B2.5、PI++++B2.6、Rad2Deg++++B2.7、YanlzXREngine.Mathf.StaticVariables |
++B2.1、Deg2Rad
++B2.1、Deg2Rad |
++B2.1、Deg2Rad
++++立钻哥哥:度转弧度;
static float Deg2Rad; |
++++度到弧度的转化常量(只读);
++++这等于(PI*2)/360;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{ public float deg = 30.0F;
void Start(){ float rad = deg * Mathf.Deg2Rad; Debug.Log(deg + “degrees are equal to ” + rad + “ radians.”); } //立钻哥哥:void Start(){}
} //立钻哥哥:public class YanlzMathf{} |
++B2.2、Epsilon
++B2.2、Epsilon |
++B2.2、Epsilon
++++立钻哥哥:最小正数;
static float Epsilon; |
++++一个很小的浮点数值(只读);
++++大于0的最小浮点数;
++++具有以下规则:-anyValue + Epsilon = anyValue - anyValue - Epsilon = anyValue - 0 + Epsilon = Epsilon - 0 -Epsilon = -Epsilon;
++++任意数与Epsilon的之间值将导致在任意数发生截断误差;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
bool isMyEqual(float a, float b){ if(a >= b - Mathf.Epsilon && a <= b + Mathf.Epsilon){ return true; }else{ return false; } } //立钻哥哥:bool isMyEqual(){}
} //立钻哥哥:public class YanlzMathf{} |
++B2.3、Infinity
++B2.3、Infinity |
++B2.3、Infinity
++++立钻哥哥:正无穷;
static float Infinity; |
++++表示正无穷,也就是无穷大,∞(只读);
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void Update(){ Debug.DrawLine(Vector3.zero, Vector3.forward * 100);
if(Physics.Raycast(Vector3.zero, Vector3.forward, Mathf.Infinity)){ Debug.Log(“立钻哥哥:There is something in front of the object!”); } //立钻哥哥:if(){} } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzMathf{} |
++B2.4、NegativeInfinity
++B2.4、NegativeInfinity |
++B2.4、NegativeInfinity
++++立钻哥哥:负无穷;
static float NegativeInfinity; |
++++表示负无穷,也就是无穷小,-∞(只读);
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.NegativeInfinity); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++B2.5、PI
++B2.5、PI |
++B2.5、PI
++++立钻哥哥:圆周率;
static float PI; |
++++PI,也就是圆周率的值3.14159265358979323846...(只读);
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{ public float radius = 5;
void Start(){ float perimeter = 2 * Mathf.PI * radius; Debug.Log(“立钻哥哥:The perimeter of the circle is: ” + perimeter); } //立钻哥哥:void Start(){}
} //立钻哥哥:public class YanlzMathf{} |
++B2.6、Rad2Deg
++B2.6、Rad2Deg |
++B2.6、Rad2Deg
++++立钻哥哥:弧度转度;
static float Rad2Deg; |
++++弧度到度的转化常量(只读);
++++这等于360/(PI*2);
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{ public float rad = 10.0F;
void Start(){ float deg = rad * Mathf.Rad2Deg; Debug.Log(rad + “ radians are equal to ” + deg + “ degrees.”); } //立钻哥哥:void Start(){}
} //立钻哥哥:public class YanlzMathf{} |
#C3、Static Functions静态函数
#C3、Static Functions静态函数 |
++C3、Static Functions静态函数++++C3.1、Abs++++C3.2、Acos++++C3.3、Approximately++++C3.4、Asin++++C3.5、Atan++++C3.6、Atan2++++C3.7、Ceil++++C3.8、CeilToInt++++C3.9、Clamp++++C3.10、Clamp01++++C3.11、ClosestPowerOfTwo++++C3.12、Cos++++C3.13、DeltaAngle++++C3.14、Exp++++C3.15、Floor++++C3.16、FloorToInt++++C3.17、GammaToLinearSpace++++C3.18、InverseLerp++++C3.19、IsPowerOfTwo++++C3.20、Lerp++++C3.21、LerpAngle++++C3.22、LinearToGammaSpace++++C3.23、Log++++C3.24、Log10++++C3.25、Max++++C3.26、Min++++C3.27、MoveTowards++++C3.28、MoveTowardsAngle++++C3.29、NextPowerOfTwo++++C3.30、PerlinNoise++++C3.31、PingPong++++C3.32、Pow++++C3.33、Repeat++++C3.34、Round++++C3.35、RoundToInt++++C3.36、Sign++++C3.37、Sin++++C3.38、SmoothDamp++++C3.39、SmoothDampAngle++++C3.40、SmoothStep++++C3.41、Sqrt++++C3.42、Tan++++C3.43、YanlzXREngine.Mathf.StaticFunctions |
++C3.1、Abs
++C3.1、Abs |
++C3.1、Abs
++++立钻哥哥:绝对值;
static float Abs(float f);static int Abs(int value); |
++++返回f的绝对值;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ //Debug.Log(Mathf.Abs(-10)); Debug.Log(Mathf.Abs(-10.5F)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.2、Acos
++C3.2、Acos |
++C3.2、Acos
++++立钻哥哥:反余弦;
static float Acos(float f); |
++++返回参数f的反余弦值 - 弧度角的余弦f;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.Acos(0.5F)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.3、Approximately
++C3.3、Approximately |
++C3.3、Approximately
++++立钻哥哥:近视值;
static bool Approximately(float a, float b); |
++++比较两个浮点数值,看它们是否非常接近;
++++由于浮点数值不精确,不建议使用等于来比较它们;例如,1.0==10.0/10.0也许不会返回true;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ if(Mathf.Approximately(1.0F, 10.0F/10.0F)){ Debug.Log(“立钻哥哥:same!”); } //立钻哥哥:if(){} } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.4、Asin
++C3.4、Asin |
++C3.4、Asin
++++立钻哥哥:反正弦;
static float Asin(float f); |
++++返回参数f的反正弦值 - 弧度角的正弦是f;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.Asin(0.5F)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.5、Atan
++C3.5、Atan |
++C3.5、Atan
++++立钻哥哥:反正切;
static float Atan(float f); |
++++返回参数f的反正切值 -弧度角的正切是f;返回值介于负二分之pi与正二分之pi之间;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.Atan(0.5F)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.6、Atan2
++C3.6、Atan2 |
++C3.6、Atan2
++++立钻哥哥:反正切2;
static float Atan2(float y, float x); |
++++返回弧度角的正切是y/x;
++++返回值是x轴与起点零点和终点2D向量(x,y)的之间夹角;
++++注意:此函数,x为0的情况,返回正确的角度,而不是抛出被零除的异常;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{ public Transform target;
void Update(){ Vector3 relative = transform.InverseTransformPoint(target.position); float angle = Mathf.Atan2(relative.x, relative.z) * Mathf.Rad2Deg; transform.Rotate(0, angle, 0); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.7、Ceil
++C3.7、Ceil |
++C3.7、Ceil
++++立钻哥哥:向上进位取整;
static float Ceil(float f); |
++++返回大于或等于f的最小整数;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.Ceil(10.0F)); Debug.Log(Mathf.Ceil(10.2F)); Debug.Log(Mathf.Ceil(10.7F)); Debug.Log(Mathf.Ceil(-10.0F)); Debug.Log(Mathf.Ceil(-10.2F)); Debug.Log(Mathf.Ceil(-10.7F)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.8、CeilToInt
++C3.8、CeilToInt |
++C3.8、CeilToInt
++++立钻哥哥:向上进位取整;
static int CeilToInt(float f); |
++++返回大于或等于f的最小整数;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.CeilToInt(10.0F)); Debug.Log(Mathf.CeilToInt(10.2F)); Debug.Log(Mathf.CeilToInt(10.7F)); Debug.Log(Mathf.CeilToInt(-10.0F)); Debug.Log(Mathf.CeilToInt(-10.2F)); Debug.Log(Mathf.CeilToInt(-10.7F)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.9、Clamp
++C3.9、Clamp |
++C3.9、Clamp
++++立钻哥哥:钳制;
static float Clamp(float value, float min, float max);static int Clamp(int value, int min, int max); |
++++限制value的值在min和max之间,如果value小于min,返回min;如果value大于max,返回max,否则返回value;
++++限制value的值在min和max之间,并返回value;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void Update(){ transform.position = new Vector3(Mathf.Clamp(Time.time, 1.0F, 3.0F), 0, 0); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzMathf{}
|
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.Clamp(10, 1, 3)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.10、Clamp01
++C3.10、Clamp01 |
++C3.10、Clamp01
++++立钻哥哥:钳制01;
static float Clamp01(float value); |
++++限制value在0,1之间并返回value;如果value小于0,返回0;如果value大于1,返回1,否则返回value;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void Update(){ //transform.position = new Vector3(Mathf.Clamp(Time.time, 1.0F, 3.0F), 0, 0); transform.position = new Vector3(Mathf.Clamp01(Time.time), 0, 0); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.11、ClosestPowerOfTwo
++C3.11、ClosestPowerOfTwo |
++C3.11、ClosestPowerOfTwo
++++立钻哥哥:最接近二次方;
static int ClosestPowerOfTwo(int value); |
++++返回距离value最近的2的次方数;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.ClosestPowerOfTwo(7)); Debug.Log(Mathf.ClosestPowerOfTwo(19)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.12、Cos
++C3.12、Cos |
++C3.12、Cos
++++立钻哥哥:余弦;
static float Cos(float f); |
++++返回由参数f指定的角的余弦值(介于-1.0与1.0之间的值);
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.Cos(3)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.13、DeltaAngle
++C3.13、DeltaAngle |
++C3.13、DeltaAngle
++++立钻哥哥:增量角;
static float DeltaAngle(float current, float target); |
++++计算给定的两个角之间最短的差异;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.DeltaAngle(1080, 90)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.14、Exp
++C3.14、Exp |
++C3.14、Exp
++++立钻哥哥:指数;
static float Exp(float power); |
++++返回e的power次方的值;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.Exp(6)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.15、Floor
++C3.15、Floor |
++C3.15、Floor
++++立钻哥哥:向下舍位取整;
static float Floor(float f); |
++++返回小于或等于该数的最大整数;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.Floor(10.0F)); Debug.Log(Mathf.Floor(10.2F)); Debug.Log(Mathf.Floor(10.7F)); Debug.Log(Mathf.Floor(-10.0F)); Debug.Log(Mathf.Floor(-10.2F)); Debug.Log(Mathf.Floor(-10.7F)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.16、FloorToInt
++C3.16、FloorToInt |
++C3.16、FloorToInt
++++立钻哥哥:向下舍位取整;
static int FloorToInt(float f); |
++++返回小于或等于该数的最大整数;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.FloorToInt(10.0F)); Debug.Log(Mathf.FloorToInt(10.2F)); Debug.Log(Mathf.FloorToInt(10.7F)); Debug.Log(Mathf.FloorToInt(-10.0F)); Debug.Log(Mathf.FloorToInt(-10.2F)); Debug.Log(Mathf.FloorToInt(-10.7F)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.17、GammaToLinearSpace
++C3.17、GammaToLinearSpace |
++C3.17、GammaToLinearSpace
++++立钻哥哥:伽马转线性空间;
static float GammaToLinearSpace(float value); |
++++转换给定值从gamma到线性颜色空间;
++C3.18、InverseLerp
++C3.18、InverseLerp |
++C3.18、InverseLerp
++++立钻哥哥:反插值;
static float InverseLerp(float from, float to, float value); |
++++计算两个值之间的Lerp参数;也就是value在from和to之间的比例值;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{ public float walkSpeed = 5.0F; public float runSpeed = 10.0F; public float speed = 8.0F;
void Start(){ float parameter = Mathf.InverseLerp(walkSpeed, runSpeed, speed); } //立钻哥哥:void Start(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.19、IsPowerOfTwo
++C3.19、IsPowerOfTwo |
++C3.19、IsPowerOfTwo
++++立钻哥哥:是否是二次方;
static bool IsPowerOfTwo(int value); |
++++如果该值是2的次方,返回true;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.IsPowerOfTwo(7)); Debug.Log(Mathf.IsPowerOfTwo(32)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.20、Lerp
++C3.20、Lerp |
++C3.20、Lerp
++++立钻哥哥:插值;
static float Lerp(float from, float to, float t); |
++++基于浮点数t返回a到b之间的插值,t限制在0~1之间;
++++当t=0返回from,当t=1返回to;当t=0.5返回from和to的平均值;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{ public float minimum = 10.0F; public float maximum = 20.0F;
void Update(){ transform.position = new Vector3(Mathf.Lerp(minimum, maximum, Time.time), 0, 0); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.21、LerpAngle
++C3.21、LerpAngle |
++C3.21、LerpAngle
++++立钻哥哥:插值角度;
static float LerpAngle(float a, float b, float t); |
++++和Lerp的原理一样,当他们环绕360度确保插值正确;
++++变量a和b是代表度数;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{ public float minAngle = 0.0F; public float maxAngle = 90.0F;
void Update(){ float angle = Mathf.LerpAngle(minAngle, maxAngle, Time.time); transform.eulerAngles = new Vector3(0, angle, 0); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.22、LinearToGammaSpace
++C3.22、LinearToGammaSpace |
++C3.22、LinearToGammaSpace
++++立钻哥哥:线性转伽马空间;
static float LinearToGammaSpace(float value); |
++++转换给定值从线性到伽马颜色空间;
++C3.23、Log
++C3.23、Log |
++C3.23、Log
++++立钻哥哥:对数;
static float Log(float f, float p);static float Log(float f); |
++++返回指定基数的指定对数;
++++返回指定的自然对数(基数e);
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ //Debug.Log(Mathf.Log(6, 2)); Debug.Log(Mathf.Log(100)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.24、Log10
++C3.24、Log10 |
++C3.24、Log10
++++立钻哥哥:对数10;
static float Log10(float f); |
++++返回指定值的对数,基数为10;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ //Debug.Log(Mathf.Log(6, 2)); //Debug.Log(Mathf.Log(100)); Debug.Log(Mathf.Log10(100)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.25、Max
++C3.25、Max |
++C3.25、Max
++++立钻哥哥:最大值;
static float Max(float a, float b);static float Max(params float[] values);static int Max(int a, int b);static int Max(params int[] values); |
++++返回两个或更多值中最大的值;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ //Debug.Log(Mathf.Max(1, 2)); Debug.Log(Mathf.Max(1.2F, 2.4F)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.26、Min
++C3.26、Min |
++C3.26、Min
++++立钻哥哥:最小值;
static float Min(float a, float b);static float Min(params float[] values);static int Min(int a, int b);static int Min(params int[] values); |
++++返回两个或更多值中最小的值;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ //Debug.Log(Mathf.Min(1, 2)); Debug.Log(Mathf.Min(1.2F, 2.4F)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.27、MoveTowards
++C3.27、MoveTowards |
++C3.27、MoveTowards
++++立钻哥哥:移向;
static float MoveTowards(float current, float target, float maxDelta); |
++++[current]:当前值;
++++[target]:要移向的值;
++++[maxDelta]:应用到该值的最大变化;
++++改变一个当前值向目标值靠近;
++++这实际上和Mathf.Lerp相同,而是该函数将确保我们的速度不会超过maxDelta;maxDelta为负值将目标从推离;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{ public float currStrength; public float maxStrength; public float recoveryRate;
void Update(){ currStrength = Mathf.MoveTowards(currStrength, maxStrength, recoveryRate*Time.deltaTime); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.28、MoveTowardsAngle
++C3.28、MoveTowardsAngle |
++C3.28、MoveTowardsAngle
++++立钻哥哥:移向角度;
static float MoveTowardsAngle(float current, float target, float maxDelta); |
++++像MoveTowards,但是当它们环绕360度时确保插值正确;
++++变量current和target是作为度数;出于优化原因,maxDelta负值不被支持,可能引起振荡;从target角推开current,添加180度角代替;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{ public float target = 270.0F; public float speed = 45.0F;
void Update(){ float angle = Mathf.MoveTowardsAngle(transform.eulerAngles.y, target, speed*Time.deltaTime); transform.eulerAngles = new Vector3(0, angle, 0); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.29、NextPowerOfTwo
++C3.29、NextPowerOfTwo |
++C3.29、NextPowerOfTwo
++++立钻哥哥:最接近的二次方;
static int NextPowerOfTwo(int value); |
++++返回最接近的二次方的值;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.NextPowerOfTwo(7)); Debug.Log(Mathf.NextPowerOfTwo(139)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.30、PerlinNoise
++C3.30、PerlinNoise |
++C3.30、PerlinNoise
++++立钻哥哥:柏林噪波;
static float PerlinNoise(float x, float y); |
++++返回0.0~1.0的浮点数值;
++++生成二维柏林噪波;
++++柏林噪波是在2D平面浮点值生成的伪随机图案(尽管该技术已经普及到三维或者更多维数,但在Unity还未实现);此噪波不是由每个点的完全随机值构成,而是由逐渐增加和减少交错波形图案值构成;此噪波可以作为基本纹理效果,但也可用于动画、生成地形高度图以及其他东西;
++++可以通过正确的XY坐标取样平面上的任意点;同一坐标将始终返回相同的样本值,但平面基本上是无限的,所以很容易通过选择一个随机样本以避免重复区域;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{ public int pixWidth; public int pixHeight; public float xOrg; public float yOrg; public float scale = 1.0F; private Texture2D noiseTex; private Color[] pix;
void Start(){ noiseTex = new Texture2D(pixWidth, pixHeight); pix = new Color[noiseTex.width*noiseTex.height]; renderer.material.mainTexture = noiseTex; } //立钻哥哥:void Start(){}
void Update(){ MyCalcNoise(); } //立钻哥哥:void Update(){}
void MyCalcNoise(){ float y = 0.0F; while(y < noiseTex.height){ float x = 0.0F; while(x < noiseTex.width){ float xCoord = xOrg + x / noiseTex.width * scale; float yCoord = yOrg + y / noiseTex.height * scale; float sample = Mathf.PerlinNoise(xCoord, yCoord); pix[y * noiseTex.width + x] = new Color(sample, sample, sample); x++; } //立钻哥哥:while(x < noiseTex.width){}
y++; } //立钻哥哥:while(y < noiseTex.height){}
noiseTex.SetPixels(pix); noiseTex.Apply(); } //立钻哥哥:void MyCalcNoise(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.31、PingPong
++C3.31、PingPong |
++C3.31、PingPong
++++立钻哥哥:乒乓;
static float PingPong(float t, float length); |
++++让数值t在0到length之间往返;t值永远不会大于length的值,也永远不会小于0;
++++返回值将在0和length之间来回移动;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void Update(){ transform.position = new Vector3(Mathf.PingPong(Time.time, 3), transform.position.y, transform.position.z); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.32、Pow
++C3.32、Pow |
++C3.32、Pow
++++立钻哥哥:幂;
static float Pow(float f, float p); |
++++计算并返回f的p次幂;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.Pow(6, 1.8F)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.33、Repeat
++C3.33、Repeat |
++C3.33、Repeat
++++立钻哥哥:重复;
static float Repeat(float t, float length); |
++++循环t值,从来不会比length大,并且从不会小于0,取值在0~length之间;
++++这是类似于模运算符,但可以使用浮点数;例如:t=3.0, length=2.5,结果是0.5;t=5, length=2.5,结果是0.0;注意:对于负数是未定义的行为,作为模运算;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void Update(){ transform.position = new Vector3(Mathf.Repeat(Time.time, 3), transform.position.y, transform.position.z); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.34、Round
++C3.34、Round |
++C3.34、Round
++++立钻哥哥:四舍五入;
static float Round(float f); |
++++返回浮点数f进行四舍五入最接近的整数;
++++如果数字末尾是.5,因此它是在两个整数中间,不管是偶数或者奇数,将返回偶数;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.Round(10.0F)); Debug.Log(Mathf.Round(10.2F)); Debug.Log(Mathf.Round(10.7F)); Debug.Log(Mathf.Round(10.5F)); Debug.Log(Mathf.Round(11.5F)); Debug.Log(Mathf.Round(-10.0F)); Debug.Log(Mathf.Round(-10.2F)); Debug.Log(Mathf.Round(-10.7F)); Debug.Log(Mathf.Round(-10.5F)); Debug.Log(Mathf.Round(-11.5F)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.35、RoundToInt
++C3.35、RoundToInt |
++C3.35、RoundToInt
++++立钻哥哥:四舍五入到整数;
static int RoundToInt(float f); |
++++返回浮点数f进行四舍五入最接近的整数;
++++如果数字末尾是.5,因此它是在两个整数中间,不管是偶数或是奇数,将返回偶数;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.RoundToInt(10.0F)); Debug.Log(Mathf.RoundToInt(10.2F)); Debug.Log(Mathf.RoundToInt(10.7F)); Debug.Log(Mathf.RoundToInt(10.5F)); Debug.Log(Mathf.RoundToInt(11.5F)); Debug.Log(Mathf.RoundToInt(-10.0F)); Debug.Log(Mathf.RoundToInt(-10.2F)); Debug.Log(Mathf.RoundToInt(-10.7F)); Debug.Log(Mathf.RoundToInt(-10.5F)); Debug.Log(Mathf.RoundToInt(-11.5F)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.36、Sign
++C3.36、Sign |
++C3.36、Sign
++++立钻哥哥:数字符号;
static float Sign(float f); |
++++返回f的数字符号;
++++当f为正或为0返回1,为负返回-1;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.Sign(-10)); Debug.Log(Mathf.Sign(10)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.37、Sin
++C3.37、Sin |
++C3.37、Sin
++++立钻哥哥:正弦;
static float Sin(float f); |
++++返回弧度角f的正弦值;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.Sin(3)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.38、SmoothDamp
++C3.38、SmoothDamp |
++C3.38、SmoothDamp
++++立钻哥哥:平滑阻尼;
static float SmoothDamp(float current, float target, float currentVelocity, float smoothTime, float maxSpeed=Mathf.Infinity, float deltaTime=Time.deltaTime); |
++++[current]:当前的位置;
++++[target]:试图达到的位置;
++++[currentVelocity]:当前速度,这个值在访问这个函数的时候会被随时修改;
++++[smoothTime]:要到达目标位置的近似时间,实际到达目标时要快一些;
++++[maxSpeed]:可选参数,允许限制的最大速度;
++++[deltaTime]:上次调用该函数到现在的时间;缺省为Time.deltaTime;
++++随着时间的推移逐渐改变一个值到目标值;
++++这个值就像被一个不会崩溃的弹簧减震器一样被平滑;这个函数可以用来平滑任何类型的值,位置,颜色,标量;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{ public Transform target; public float smoothTime = 0.3F; private float yVelocity = 0.0F;
void Update(){ float newPosition = Mathf.SmoothDamp(transform.position.y, target.position.y, ref yVelocity, smoothTime); transform.position = new Vector3(transform.position.x, newPosition, transform.position.z); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.39、SmoothDampAngle
++C3.39、SmoothDampAngle |
++C3.39、SmoothDampAngle
++++立钻哥哥:平滑阻尼角度;
static float SmoothDampAngle(float current, float target, float currentVelocity, float smoothTime, float maxSpeed=Mathf.Infinity, float deltaTime=Time.deltaTime); |
++++[current]:当前的位置;
++++[target]:试图达到的位置;
++++[currentVelocity]:当前速度,这个值在访问这个函数的时候会被随时修改;
++++[smoothTime]:要到达目标位置的近似时间,实际到达目标时要快一些;
++++[maxSpeed]:可选参数,允许限制的最大速度;
++++[deltaTime]:上次调用该函数到现在的时间;缺省为Time.deltaTime;
++++随着时间的推移逐渐改变一个给定的角度到期望的角度;
++++这个值通过一些弹簧减震器类似的功能被平滑;这个函数可以用来平滑任何一种值,位置,颜色,标量;最常见的平滑一个跟随摄像机;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{ public Transform target; public float smooth = 0.3F; public float distance = 5.0F; private float yVelocity = 0.0F;
void Update(){ float yAngle = Mathf.SmoothDampAngle(transform.eulerAngles.y, target.eulerAngles.y, ref yVelocity, smooth); Vector3 position = target.position; position += Quaternion.Euler(0, yAngle, 0) * new Vector3(0, 0, -distance); transform.position = position; transform.LookAt(target); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.40、SmoothStep
++C3.40、SmoothStep |
++C3.40、SmoothStep
++++立钻哥哥:平滑插值;
static float SmoothStep(float from, float to, float t); |
++++在min和max之间平滑插值;
++++在min和max之间插值,类似于Lerp方法;然而,插值从开始处将逐渐加快,到结束处减慢;这通常用于创建渐变和其他过渡看起来比较自然的动画;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{ public float minimum = 10.0F; public float maximum = 20.0F; public float duration = 5.0F; private float startTime;
void Start(){ startTime = Time.time; } //立钻哥哥:void Start(){}
void Update(){ float t = (Time.time - startTime) / duration; transform.position = new Vector3(Mathf.SmoothStep(minimum, maximum, t), 0, 0); } //立钻哥哥:void Update(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.41、Sqrt
++C3.41、Sqrt |
++C3.41、Sqrt
++++立钻哥哥:平方根;
static float Sqrt(float f); |
++++计算并返回f的平方根;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.Sqrt(10)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
++C3.42、Tan
++C3.42、Tan |
++C3.42、Tan
++++立钻哥哥:正切;
static float Tan(float f); |
++++返回互动f角的正切值;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzMathf : MonoBehaviour{
void MyTestFunc(){ Debug.Log(Mathf.Tan(0.5F)); } //立钻哥哥:void MyTestFunc(){}
} //立钻哥哥:public class YanlzMathf{} |
#D4、立钻哥哥对Mathf类的拓展
#D4、立钻哥哥对Mathf类的拓展 |
++++【Unity API】分类:https://blog.youkuaiyun.com/vrunsoftyanlz/category_7637520.html
++++[Unity快速入门]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/105776475
++++[UnityAPI目录]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106533906
++++[Application应用]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106086327
++++[Object对象]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106202194
++++[GameObject]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106223815
++++[MonoBehaviour]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106533256
++++[Component组件]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106367004
++++[Transform变换]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106607761
++++[Camera摄像机]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106148837
++++[Shader着色器]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106321040
++++[Material材质]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/81814303
++++[Physics物理]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106268062
++++[Collider碰撞器]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106696886
++++[Rigidbody刚体]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106698042
++++[Animator动画]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106863517
++++[Animation]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106931626
++++[AnimationCurve]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106952329
++++[AnimationEvent]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107008468
++++[Joint关节]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106771226
++++[RaycastHit]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106292370
++++[ParticleSystem]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106341995
++++[WWW万维网]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106412890
++++[LineRenerer]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106306388
++++[WheelCollider]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82356217
++++[MovieTexture]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106434063
++++[Keyframe关键帧]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107008908
++++[Debug调试]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107029574
++++[Quaternion]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107271863
++++[Vector2二维]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107239428
++++[Vector3三维]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107170428
++++[Vector4四维]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107147669
++++[Color颜色]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107147170
++++[Cloth布料]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107131605
++++[Canvas画布]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107117293
++++[TransitionInfo]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107116998
++++[AniStateInfo]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107116694
++++[AnimationState]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107093213
++++[RectTransform]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107092732
++++[Rect矩阵]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107073059
++++[Random随机数]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107072515
++++[Gizmos可视化]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107049986
++++[PlayerPrefs存档]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107029106
++++[StateMachine]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/107028714
++++[AnimationClip]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106951675
++++[Input输入]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106843487
++++[Resources资源]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106818524
++++[Network网络]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106795026
++++[Collision碰撞]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106697669
++++[Matrix4x4矩阵]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106504027
++++[Renerer渲染器]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106481994
++++[AudioSource]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106462679
++++[AudioClip]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106448955
++++[Texture纹理]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106448589
++++[AssetBundle]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106412190
++++[ScriptableObject]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/106392769
@@提示:有些博客可能只是开了头,如果感兴趣的同学,可以“点赞”或“评论区留言”,只要关注的同学多了,那就会继续完善哟!(“++==”,表示没有写完的,如果关注度不高就不完善了;“++ok++”,表示此篇博客已经完成,是阶段性完整的!)
++++VR云游戏=Unity+SteamVR+云技术+5G+AI;(说明:AI人工智能不是我们的主要研究技术,只是了解一下,领略一下有风的感觉!但是,VR是我们的研究重点)
++++【Unity API】分类:https://blog.youkuaiyun.com/vrunsoftyanlz/category_7637520.html
++++【Unity开发基础】分类:https://blog.youkuaiyun.com/vrunsoftyanlz/category_7309057.html
++++【Linux系统编程】分类:https://blog.youkuaiyun.com/vrunsoftyanlz/category_9694767.html
++++【C++C铸就生存利器】分类:https://blog.youkuaiyun.com/vrunsoftyanlz/category_9325802.html
++++【人工智能AI2026】分类:https://blog.youkuaiyun.com/vrunsoftyanlz/category_9212024.html
++++【立钻哥哥优快云空间】:https://blog.youkuaiyun.com/VRunSoftYanlz/
【XR游戏开发QQ群:784477094】
++立钻哥哥推荐的拓展学习链接(Link_Url):
立钻哥哥推荐的拓展学习链接(Link_Url) |
++++立钻哥哥Unity 学习空间: http://blog.youkuaiyun.com/VRunSoftYanlz/
++++虚拟现实VR资讯: https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/89165846
++++HTC_VIVE开发基础:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/81989970
++++Oculus杂谈:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82469850
++++Oculus安装使用:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82718982
++++Unity+SteamVR=>VR:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/88809370
++++Unity减少VR晕眩症:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/89115518
++++SteamVR简介:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/86484254
++++SteamVR脚本功能分析:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/86531480
++++SteamVR2.0开发指南:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/86618187
++++SteamVR2.2.0开发指南:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/88784527
++++SteamVR2.2.0快速入门:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/88833579
++++SteamVR2.2.0交互系统:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/89199778
++++SteamVR2.2.0传送机制:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/89390866
++++SteamVR2.2.0教程(一):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/89324067
++++SteamVR2.2.0教程(二):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/89894097
++++SteamVR_Skeleton_Poser:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/89931725
++++SteamVR实战之PMCore:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/89463658
++++SteamVR/Extras:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/86584108
++++SteamVR/Input:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/86601950
++++OpenXR简介:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/85726365
++++VRTK杂谈:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82562993
++++VRTK快速入门(杂谈):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82955267
++++VRTK官方示例(目录):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82955410
++++VRTK代码结构(目录):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82780085
++++VRTK(SceneResources):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82795400
++++VRTK_ControllerEvents:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/83099512
++++VRTK_InteractTouch:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/83120220
++++虚拟现实行业应用:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/88360157
++++Steam平台上的VR:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/88960085
++++Steam平台热销VR:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/89007741
++++VR实验:以太网帧的构成:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82598140
++++实验四:存储器扩展实验:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/87834434
++++FrameVR示例V0913:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82808498
++++FrameVR示例V1003:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/83066516
++++SwitchMachineV1022:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/83280886
++++PlaySceneManagerV1022:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/83280886
++++Unity5.x用户手册:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/81712741
++++Unity面试题ABC:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78630687
++++Unity面试题D:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/78630838
++++Unity面试题E:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78630913
++++Unity面试题F:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/78630945
++++Cocos2dx面试题:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/78630967
++++禅道[zentao]:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/83964057
++++Lua快速入门篇(Xlua拓展):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/81173818
++++Lua快速入门篇(XLua教程):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/81141502
++++Lua快速入门篇(基础概述):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/81041359
++++框架知识点:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/80862879
++++游戏框架(UI框架夯实篇):https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/80781140
++++游戏框架(初探篇):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/80630325
++++.Net框架设计:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/87401225
++++从零开始学架构:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/88095895
++++设计模式简单整理:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/79839641
++++专题:设计模式(精华篇):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/81322678
++++U3D小项目参考:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/80141811
++++Unity小游戏算法分析:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/87908365
++++Unity案例(Vehicle):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82355876
++++UML类图:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/80289461
++++PowerDesigner简介:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/86500084
++++Unity知识点0001:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/80302012
++++Unity知识点0008:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/81153606
++++U3D_Shader编程(第一篇:快速入门篇):https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/80372071
++++U3D_Shader编程(第二篇:基础夯实篇):https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/80372628
++++Unity引擎基础:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78881685
++++Unity面向组件开发:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78881752
++++Unity物理系统:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78881879
++++Unity2D平台开发:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78882034
++++UGUI基础:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78884693
++++UGUI进阶:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78884882
++++UGUI综合:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78885013
++++Unity动画系统基础:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78886068
++++Unity动画系统进阶:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78886198
++++Navigation导航系统:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78886281
++++Unity特效渲染:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78886403
++++Unity数据存储:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/79251273
++++Unity中Sqlite数据库:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/79254162
++++WWW类和协程:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/79254559
++++Unity网络:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/79254902
++++Unity资源加密:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/87644514
++++PhotonServer简介:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/86652770
++++编写Photon游戏服务器:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/86682935
++++C#事件:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78631267
++++C#委托:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78631183
++++C#集合:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78631175
++++C#泛型:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78631141
++++C#接口:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78631122
++++C#静态类:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78630979
++++C#中System.String类:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78630945
++++C#数据类型:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78630913
++++Unity3D默认的快捷键:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78630838
++++游戏相关缩写:https://blog.youkuaiyun.com/vrunsoftyanlz/article/details/78630687
++++UnityAPI.Rigidbody刚体:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/81784053
++++UnityAPI.Material材质:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/81814303
++++UnityAPI.Android安卓:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/81843193
++++UnityAPI.AndroidJNI安卓JNI:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/81879345
++++UnityAPI.Transform变换:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/81916293
++++UnityAPI.WheelCollider轮碰撞器:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82356217
++++UnityAPI.Resources资源:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/83155518
++++JSON数据结构:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82026644
++++CocosStudio快速入门:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82356839
++++Unity企业内训(目录):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82634668
++++Unity企业内训(第1讲):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82634733
++++Unity企业内训(第2讲):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82861180
++++Unity企业内训(第3讲):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82927699
++++Unity企业内训(第4讲):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/83479776
++++Unity企业内训(第5讲):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/83963811
++++Unity企业内训(第6讲):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/84207696
++++钻哥带您了解产品原型:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/87303828
++++插件<Obi Rope>:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/83963905
++++计算机组成原理(教材篇):https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/82719129
++++5G接入:云计算和雾计算:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/88372718
++++云计算通俗讲义:https://blog.youkuaiyun.com/VRunSoftYanlz/article/details/88652803
++++立钻哥哥Unity 学习空间: http://blog.youkuaiyun.com/VRunSoftYanlz
--_--VRunSoft:lovezuanzuan--_--
--_--VRunSoft:lovezuanzuan--_--