《UnityAPI.Transform變換》
版本 |
作者 |
參與者 |
完成日期 |
備註 |
UnityAPI_Transform_V01_1.0 |
嚴立鑽 |
|
2020.06.07 |
|
|
|
|
|
|
#《UnityAPI.Transform變換》發佈說明:
++++“UnityAPI.Transform變換”是對UnityAPI中Transform變換類的剖析和拓展;
立鑽哥哥: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.csdn.net/vrunsoftyanlz/category_7637520.html
++++【Unity開發基礎】分類:https://blog.csdn.net/vrunsoftyanlz/category_7309057.html
++++【Linux系統編程】分類:https://blog.csdn.net/vrunsoftyanlz/category_9694767.html
++++【C++C鑄就生存利器】分類:https://blog.csdn.net/vrunsoftyanlz/category_9325802.html
++++【人工智能AI2026】分類:https://blog.csdn.net/vrunsoftyanlz/category_9212024.html
++++【立鑽哥哥CSDN空間】:https://blog.csdn.net/VRunSoftYanlz/
#Transform變換
#Transform變換 |
#Transform變換++A1、Description描述++B2、Variables變量++C3、Public Function共有函數++D4、Message消息 |
#A1、Description描述
#A1、Description描述 |
++A1、Description描述
++++立鑽哥哥:Transform(變換)是對象的位置、旋轉和縮放;
++++[namespace]:UnityEngine;
++++[Inherits from]:Component;
++++場景中的每一個對象都有一個Transform;用於儲存並操控物體的位置、旋轉和縮放;每一個Transform可以有一個父級,允許分層次應用位置、旋轉和縮放;可以在Hierarchy面板查看層次關係;它們也支持計數器(enumerator),因此可以使用循環遍歷子對象;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void MyTestFunc(){ foreach(Transform child in transform){ child.position += Vector3.up * 10.0F; } } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{} |
++++[Component組件]:https://blog.csdn.net/VRunSoftYanlz/article/details/106367004
++++【Unity API】分類:https://blog.csdn.net/vrunsoftyanlz/category_7637520.html
++++[Unity快速入門]:https://blog.csdn.net/VRunSoftYanlz/article/details/105776475
++++[UnityAPI目錄]:https://blog.csdn.net/VRunSoftYanlz/article/details/106533906
++++[Application應用]:https://blog.csdn.net/VRunSoftYanlz/article/details/106086327
++++[Object對象]:https://blog.csdn.net/VRunSoftYanlz/article/details/106202194
++++[GameObject]:https://blog.csdn.net/VRunSoftYanlz/article/details/106223815
++++[MonoBehaviour]:https://blog.csdn.net/VRunSoftYanlz/article/details/106533256
++++[Component組件]:https://blog.csdn.net/VRunSoftYanlz/article/details/106367004
++++[Camera攝像機]:https://blog.csdn.net/VRunSoftYanlz/article/details/106148837
++++[Shader着色器]:https://blog.csdn.net/VRunSoftYanlz/article/details/106321040
++++[Material材質]:https://blog.csdn.net/VRunSoftYanlz/article/details/81814303
++++[Physics物理]:https://blog.csdn.net/VRunSoftYanlz/article/details/106268062
++++[RaycastHit]:https://blog.csdn.net/VRunSoftYanlz/article/details/106292370
++++[ParticleSystem]:https://blog.csdn.net/VRunSoftYanlz/article/details/106341995
++++[WWW萬維網]:https://blog.csdn.net/VRunSoftYanlz/article/details/106412890
++++[LineRenerer]:https://blog.csdn.net/VRunSoftYanlz/article/details/106306388
++++[WheelCollider]:https://blog.csdn.net/VRunSoftYanlz/article/details/82356217
++++[MovieTexture]:https://blog.csdn.net/VRunSoftYanlz/article/details/106434063
#B2、Variables變量
#B2、Variables變量 |
++B2、Variables變量++++B2.1、childCount++++B2.2、eulerAngles++++B2.3、forward++++B2.4、hasChanged++++B2.5、localEulerAngles++++B2.6、localPosition++++B2.7、localRotation++++B2.8、localScale++++B2.9、localToWorldMatrix++++B2.10、lossyScale++++B2.11、parent++++B2.12、position++++B2.13、right++++B2.14、root++++B2.15、rotation++++B2.16、up++++B2.17、worldToLoaclMatrix++++B2.18、YanlzXREngine.Transform.Variables |
++B2.1、childCount
++B2.1、childCount |
++B2.1、childCount
++++立鑽哥哥:子對象數;
int childCount; |
++++該變換的子對象數量;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void MyTestFunc(){ Debug.Log(transform.childCount); } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{} |
++B2.2、eulerAngles
++B2.2、eulerAngles |
++B2.2、eulerAngles
++++立鑽哥哥:歐拉角;
Vector3 eulerAngles; |
++++此旋轉作爲歐拉角度;
++++x、y、z角代表繞z軸旋轉z度,繞x軸旋轉x度,繞y軸旋轉y度(這個順序);
++++僅使用這個變量讀取和設置角度爲絕對值;不要遞增它們,當超過角度360度,它將錯誤;使用Transform.Rotate替代;
++++不要分別設置歐拉角其中一個軸(例如:eulerAngles.x=10;),因爲這將導致偏移和不希望的旋轉;當設置它們一個新的值時,要同時設置全部;Unity從存儲在transform.localrotation的旋轉自動轉換角度;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{ public float yRotation = 5.0F;
void Update(){ yRotation += Input.GetAxis(“Horizontal”); transform.eulerAngles = new Vector3(10, yRotation, 0); } //立鑽哥哥:void Update(){}
void MyTestFunc(){ Debug.Log(transform.eulerAngles.x); Debug.Log(transform.eulerAngles.y); Debug.Log(transform.eulerAngles.z); } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{} |
++B2.3、forward
++B2.3、forward |
++B2.3、forward
++++立鑽哥哥:向前;
Vector3 forward; |
++++在世界空間座標,變換的藍色軸;也就是z軸;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void MyTestFunc(){ rigidbody.velocity = transform.forward * 10; } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{}
|
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{ public float angleBetween = 0.0F; public Transform target;
void Update(){ Vector3 targetDir = target.position - transform.position; angleBetween = Vector3.Angle(transform.forward, targetDir); } //立鑽哥哥:void Update(){}
} //立鑽哥哥:public class YanlzTransform{} |
++B2.4、hasChanged
++B2.4、hasChanged |
++B2.4、hasChanged
++++立鑽哥哥:是否被改變;
bool hasChanged; |
++++此變換自從上次標識是否被設置爲false了?
++++對變換的任何改變會導致矩陣的重新計算:任意調節它的位置、旋轉或縮放;請注意此操作,是否在設置此標識之前新舊的值不同,也將不會實際檢查;因此,對於實例化,transform.position將總是設置此變換的hasChanged,無論是否有實際的變化;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void OnUpdate(){ if(transform.hasChanged){ Debug.Log(“立鑽哥哥:The transform has changed!”); transform.hasChanged = false; } } //立鑽哥哥:void OnUpdate(){}
} //立鑽哥哥:public class YanlzTransform{} |
++B2.5、localEulerAngles
++B2.5、localEulerAngles |
++B2.5、localEulerAngles
++++立鑽哥哥:局部歐拉角;
Vector3 localEulerAngles; |
++++旋轉作爲歐拉角度,相對於父級的變換旋轉;
++++x、y、z角代表繞z軸旋轉z度,繞x軸旋轉x度,繞y軸旋轉y度(這個順序);
++++僅使用這個變量讀取和設置角度爲絕對值;不要遞增它們,當超過角度360度,它將錯誤;使用Transform.Rotate替代;
++++Unity從存儲在transform.localrotation的旋轉自動轉換角度;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void MyTestFunc(){ Debug.Log(transform.localEulerAngles.x); Debug.Log(transform.localEulerAngles.y); Debug.Log(transform.localEulerAngles.z); } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{} |
++B2.6、localPosition
++B2.6、localPosition |
++B2.6、localPosition
++++立鑽哥哥:局部位置;
Vector3 localPosition; |
++++相對於父級的變換的位置;
++++如果該變換沒有父級,那麼等同於Transform.position;
++++注意:當計算世界的位置時,父級變換的世界旋轉和縮放被應用到自身的位置;意思是說Transform.position的1個單位是1個單位,Transform.localPosition的1個單位將由所有父級的縮放獲得縮放,簡單來說自身位置的1單位將受它所有上級的縮放影響;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void MyTestFunc(){ transform.localPosition = new Vector3(0, 0, 0); Debug.Log(transform.localPosition.y); } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{} |
++B2.7、localRotation
++B2.7、localRotation |
++B2.7、localRotation
++++立鑽哥哥:局部旋轉;
Quaternion localRotation; |
++++該變換的旋轉角度相對於父級變換的旋轉角度;
++++Unity作爲四元數存旋轉角度;要旋轉一個物體,使用Transform.Rotate,使用Transform.localEulerAngles爲設置作爲歐拉角的旋轉角度;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void MyTestFunc(){ //transform.localPosition = new Vector3(0, 0, 0); transform.localRotation = Quaternion.identity; } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{} |
++B2.8、localScale
++B2.8、localScale |
++B2.8、localScale
++++立鑽哥哥:局部縮放;
Vector3 localScale; |
++++相對於父級變換的縮放;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void MyTestFunc(){ transform.localScale += new Vector3(0.1F, 0, 0); } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{} |
++B2.9、localToWorldMatrix
++B2.9、localToWorldMatrix |
++B2.9、localToWorldMatrix
++++立鑽哥哥:局部轉世界矩陣;
Matrix4x4 localToWorldMatrix; |
++++變換點的矩陣從局部座標到世界座標(只讀);
++++如果不熟悉使用矩陣爲座標轉換,使用Transform.TransformPoint代替;
++++重要:如果設置shader參數,必須使用Renderer.localToWorldMatrix替代;
++++[Matrix4x4矩陣]:https://blog.csdn.net/VRunSoftYanlz/article/details/106504027
++B2.10、lossyScale
++B2.10、lossyScale |
++B2.10、lossyScale
++++立鑽哥哥:有損縮放;
Vector3 lossyScale; |
++++該對象的整體縮放(只讀);
++++請注意:如果有一個帶有縮放的父變換和有任意旋轉的子變換,此縮放將有偏差;因此縮放不能正確的表示在3組件的向量,而是一個3*3矩陣;這樣表示工作十分不方便,lossyScale是個很方便的屬性,它儘量匹配實際世界縮放,如果物體不是有偏差的,這個值將是完全正確的,如果物體包含偏差,這個值也不會有很大的不同;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void MyTestFunc(){ Debug.Log(transform.lossyScale); } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{} |
++B2.11、parent
++B2.11、parent |
++B2.11、parent
++++立鑽哥哥:父對象;
Transform parent; |
++++該變換的父對象;
++++改變父對象,將修改相對父級的位置、縮放和旋轉角度,但是保持和世界座標的位置、旋轉角度和縮放相同;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{ public Transform cameraTransform = Camera.main.transform;
void MyTestFunc(){ cameraTransform.parent = transform; cameraTransform.localPosition = -Vector3.forward * 5; cameraTransform.LookAt(transform); } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{}
|
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void MyTestFunc(){ transform.parent = null; } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{}
|
++B2.12、position
++B2.12、position |
++B2.12、position
++++立鑽哥哥:位置;
Vector3 position; |
++++在世界空間座標transform的位置;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void MyTestFunc(){ transform.position = new Vector3(0, 0, 0); Debug.Log(transform.position.x); } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{} |
++B2.13、right
++B2.13、right |
++B2.13、right
++++立鑽哥哥:向右;
Vector3 right; |
++++在世界座標空間,變換的紅色軸;也就是x軸;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void MyTestFunc(){ rigidbody.velocity = transform.right * 10; } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{} |
++B2.14、root
++B2.14、root |
++B2.14、root
++++立鑽哥哥:根對象;
Transform root; |
++++返回最高層次的變換;
++++從來不返回null,如果這個變換沒有父級,將返回自身;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void OnCollisionEnter(Collision collision){ if(collision.transform.root != transform.root){ Debug.Log(“立鑽哥哥:The colliding objects are not in the same hierarchy.”); } } //立鑽哥哥:void OnCollisionEnter(){}
} //立鑽哥哥:public class YanlzTransform{} |
++B2.15、rotation
++B2.15、rotation |
++B2.15、rotation
++++立鑽哥哥:旋轉角度;
Quaternion rotation; |
++++變換的旋轉,在世界座標空間儲存爲四元數;
++++Unity以四元數儲存旋轉角度;要旋轉一個對象使用Transform.Rotate,使用Transform.eulerAngles以歐拉角設置旋轉角度;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void MyTestFunc(){ transform.rotation = Quaternion.identity; } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{}
|
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{ public float smooth = 2.0F; public float tiltAngle = 30.0F;
void Update(){ float tiltAroundZ = Input.GetAxis(“Horizontal”) * tiltAngle; float tiltAroundX = Input.GetAxis(“Vertical”) * tiltAngle;
Quaternion target = Quaternion.Euler(tiltAroundX, 0, tiltAroundZ); transform.rotation = Quaternion.Slerp(transform.rotation, target, Time.deltaTime * smooth); } //立鑽哥哥:void Update(){}
} //立鑽哥哥:public class YanlzTransform{} |
++B2.16、up
++B2.16、up |
++B2.16、up
++++立鑽哥哥:向上;
Vector3 up; |
++++在世界座標空間,變換的綠色軸;也就是Y軸;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void MyTestFunc(){ //rigidbody.velocity = transform.right * 10; rigidbody.velocity = transform.up * 10; } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{} |
++B2.17、worldToLoaclMatrix
++B2.17、worldToLoaclMatrix |
++B2.17、worldToLoaclMatrix
++++立鑽哥哥:世界轉局部矩陣;
Matrix4x4 worldToLocalMatrix; |
++++變換點的矩陣從世界座標到局部座標(只讀);
++++如果不熟悉使用矩陣爲座標轉換,使用Transform.TransformPoint代替;
++++重要:如果設置shader參數,必須使用Renderer.localToWorldMatrix替代;
++++[Matrix4x4矩陣]:https://blog.csdn.net/VRunSoftYanlz/article/details/106504027
++++[Shader着色器]:https://blog.csdn.net/VRunSoftYanlz/article/details/106321040
++++[Renerer渲染器]:https://blog.csdn.net/VRunSoftYanlz/article/details/106481994
#C3、Variables變量
#C3、Functions函數 |
++C3、Functions函數++++C3.1、DetachChildren++++C3.2、Find++++C3.3、GetChild++++C3.4、GetSiblingIndex++++C3.5、InverseTransformDirection++++C3.6、InverseTransformPoint++++C3.7、InverseTransformVector++++C3.8、IsChildOf++++C3.9、LookAt++++C3.10、Rotate++++C3.11、RotateAround++++C3.12、SetAsFirstSibling++++C3.13、SetAtLastSibling++++C3.14、SetParent++++C3.15、SetSiblingIndex++++C3.16、TransformDirection++++C3.17、TransformPoint++++C3.18、TransformVector++++C3.19、Translate++++C3.20、YanlzXREngine.Transform.Functions |
++C3.1、DetachChildren
++C3.1、DetachChildren |
++C3.1、DetachChildren
++++立鑽哥哥:分離子對象;
void DetachChildren(); |
++++所有子對象解除父子關係;
++++如果想要銷燬層級的根,而不銷燬子對象是很有用的;
++++參見:Transform.parent去分離/改變單個變換的父級;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void MyTestFunc(){ transform.DetachChildren(); Destroy(gameObject); } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{} |
++C3.2、Find
++C3.2、Find |
++C3.2、Find
++++立鑽哥哥:查找;
Transform Find(string name); |
++++通過名字查找子對象並返回它;
++++如果沒有查找到子對象名字,將返回null;如果名字包含“/”字符它將向路徑一樣穿越層次;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{ Transform aFinger;
void Start(){ aFinger = transform.Find(“YanlzTestModule/LeftShoulder/Arm/Hand/Finger”); } //立鑽哥哥:void Start(){}
void Update(){ aFinger.Rotate(Time.deltaTime * 20, 0, 0); } //立鑽哥哥:void Update(){}
} //立鑽哥哥:public class YanlzTransform{} |
++C3.3、GetChild
++C3.3、GetChild |
++C3.3、GetChild
++++立鑽哥哥:查找子對象;
Transform GetChild(int index); |
++++[index]:要返回的子變換索引;必須小於該變換的Transform.childCount;
++++通過索引返回一個變換的子對象;
++C3.4、GetSiblingIndex
++C3.4、GetSiblingIndex |
++C3.4、GetSiblingIndex
++++立鑽哥哥:獲取同級索引;
int GetSiblingIndex(); |
++++獲取該對象的同級索引;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void Start(){ Debug.Log(this.transform.GetSiblingIndex()); } //立鑽哥哥:void Start(){}
} //立鑽哥哥:public class YanlzTransform{} |
++C3.5、InverseTransformDirection
++C3.5、InverseTransformDirection |
++C3.5、InverseTransformDirection
++++立鑽哥哥:反向變換方向;
Vector3 InverseTransformDirection(Vector3 direction);Vector3 InverseTransformDirection(float x, float y, float z); |
++++變換的方向從世界座標轉換到局部座標;和Transform.TransformDirection相反;
++++變換方向x,y,z從世界座標轉換到局部座標,和Transform.TransformDirection相反;
++++此操作不受縮放影響;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void MyTestFunc(){ relative = transform.InverseTransformDirection(Vector3.forward); Debug.Log(relative); } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{}
|
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{ private Vector3 relative;
void MyTestFunc(){ //relative = transform.InverseTransformDirection(Vector3.forward); relative = transform.InverseTransformDirection(0, 0, 1); Debug.Log(relative); } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{} |
++C3.6、InverseTransformPoint
++C3.6、InverseTransformPoint |
++C3.6、InverseTransformPoint
++++立鑽哥哥:反向變換點;
public Vector3 InverseTransformPoint(Vector3 position);public Vector3 InverseTransformPoint(float x, float y, float z); |
++++變換位置從世界座標到局部座標;和Transform.TransformPoint相反;
++++變換位置x,y,z從世界座標到局部座標;和Transform.TransformPoint相反;
++++注意:返回位置受縮放影響;如果是處理方向使用;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{ public Transform cam = Camera.main.transform; public Vector3 cameraRelative = cam.InverseTransformPoint(transform.position);
void MyTestFunc(){ if(cameraRelative.z > 0){ Debug.Log(“立鑽哥哥:The object is in front of the camera.”); }else{ Debug.Log(“立鑽哥哥:The object is behind the camera.”); } } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{}
|
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void MyTestFunc(){ relativePoint = transform.InverseTransformPoint(0, 0, 0);
if(cameraRelative.z > 0){ Debug.Log(“立鑽哥哥:The world origin is in front of this object.”); }else{ Debug.Log(“立鑽哥哥:The world origin is behind of this object.”); } } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{} |
++C3.7、InverseTransformVector
++C3.7、InverseTransformVector |
++C3.7、InverseTransformVector
++++立鑽哥哥:反向變換向量;
public Vector3 InverseTransformVector(Vector3 vector);public Vector3 InverseTransformVector(float x, float y, float z); |
++++變換一個向量從世界座標空間到局部座標空間;這個操作與Transform.TransformVector相反;
++++變換一個向量(x,y,z)從世界座標空間到局部座標空間;這個操作與Transform.TransformVector相反;
++++這個操作受縮放影響;
++C3.8、IsChildOf
++C3.8、IsChildOf |
++C3.8、IsChildOf
++++立鑽哥哥:是否是子對象;
bool IsChildOf(Transform parent); |
++++這個變換是parent的子對象;
++++返回布爾值,是指這個變換是否是指定變換的子對象;如果該變換是子物體、深層子物體(孩子的孩子)或者同級,返回真,否則返回假;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void OnTriggerEnter(Collider col){ if(col.transform.IsChildOf(transform)){ return; }
Debug.Log(“立鑽哥哥:Do something here.”); } //立鑽哥哥:void OnTriggerEnter(){}
} //立鑽哥哥:public class YanlzTransform{} |
++C3.9、LookAt
++C3.9、LookAt |
++C3.9、LookAt
++++立鑽哥哥:看向;
void LookAt(Transform target, Vector3 worldUp=Vector3.up);void LookAt(Vector3 worldPosition, Vector3 worldUp=Vector3.up); |
++++[target]:要指向的對象;
++++[worldUp]:向量指定的向上的方向;
++++[worldPosition]:要看向的點;
++++旋轉此變換,讓向前向量指向target的當前位置;簡單說,旋轉物體使z軸指向目標物體;
++++在由worldUp向量示意的方向的y軸旋轉物體,如果忽略worldUp參數,這個函數將使用世界的y軸;worldUp只是一個示意向量,如果向前方向是與worldUp垂直的,旋轉的向上向量將僅匹配worldUp向量;
++++當該物體設置了LookAt並指定了目標物體時,該物體的z軸將始終指向目標物體,在設置了worldUp軸向時,該物體在更接近指定的軸向時旋轉變得靈活,注意:worldUp指的是世界空間,不論物體在什麼位置,只要接近指定的軸方向,旋轉會變得更靈活;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{ public Transform target;
void Update(){ //transform.LookAt(target); transform.LookAt(Vector3.zero); } //立鑽哥哥:void Update(){}
} //立鑽哥哥:public class YanlzTransform{} |
++C3.10、Rotate
++C3.10、Rotate |
++C3.10、Rotate
++++立鑽哥哥:旋轉;
void Rotate(Vector3 eulerAngles, Space relativeTo=Space.Self);void Rotate(float xAngle, float yAngle, float zAngle, Space relativeTo=Space.Self);void Rotate(Vector3 axis, float angle, Space relativeTo=Space.Self); |
++++應用一個歐拉角的旋轉角度,eulerAngles.z度圍繞z軸,eulerAngles.x度圍繞x軸,eulerAngles.y度圍繞y軸(這樣的順序);
++++應用一個旋轉角度,zAngle度圍繞z軸,xAngle度圍繞x軸,yAngle度圍繞y軸(這樣的順序);
++++按照angle度圍繞axis軸旋轉變換;
++++如果相對於留空或者設置爲Space.Self旋轉角度被應用圍繞變換的自身軸;(當在場景視圖選擇物體時,x、y和z軸顯示),如果相對於Space.World旋轉角度被應用圍繞世界的x、y、z軸;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void Update(){ transform.Rotate(Vector3.right * Time.deltaTime); transform.Rotate(Vector3.up * Time.deltaTime, Space.World); } //立鑽哥哥:void Update(){}
} //立鑽哥哥:public class YanlzTransform{}
|
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void Update(){ transform.Rotate(Time.deltaTime, 0, 0); transform.Rotate(0, Time.deltaTime, 0, Space.World); } //立鑽哥哥:void Update(){}
} //立鑽哥哥:public class YanlzTransform{}
|
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void Update(){ transform.Rotate(Vector3.right, Time.deltaTime); transform.Rotate(Vector3.up, Time.deltaTime, Space.World); } //立鑽哥哥:void Update(){}
} //立鑽哥哥:public class YanlzTransform{} |
++C3.11、RotateAround
++C3.11、RotateAround |
++C3.11、RotateAround
++++立鑽哥哥:圍繞旋轉;
void RotateAround(Vector3 point, Vector3 axis, float angle); |
++++圍繞世界座標的point點的axis旋轉該變換angle度;
++++這個修改變換的位置和旋轉角度;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void Update(){ transform.RotateAround(Vector3.zero, Vector3.up, 20 * Time.deltaTime); } //立鑽哥哥:void Update(){}
} //立鑽哥哥:public class YanlzTransform{} |
++C3.12、SetAsFirstSibling
++C3.12、SetAsFirstSibling |
++C3.12、SetAsFirstSibling
++++立鑽哥哥:設置爲同級第一;
void SetAsFirstSibling(); |
++++移動該變換到此局部變換列表的開始;
++C3.13、SetAtLastSibling
++C3.13、SetAtLastSibling |
++C3.13、SetAtLastSibling
++++立鑽哥哥:設置爲同級最後;
void SetAsLastSibling(); |
++++移動該變換到此局部變換列表的末尾;
++C3.14、SetParent
++C3.14、SetParent |
++C3.14、SetParent
++++立鑽哥哥:設置父級;
public void SetParent(Transform parent, bool worldPositionStays); |
++++[parent]:要使用的父級變換;
++++[worldPositionStays]:如果爲true,則相對於父級位置、縮放和旋轉修改該對象,使得該對象保持與之前世界座標空間一樣的位置,旋轉和縮放;
++++設置該變換的父級;
++++這個方法是把一個對象找個父級,如果worldPositionStays爲true,那麼該對象會保持世界座標不變;如果爲false那麼該對象會保持局部座標不變;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{ public Transform parent;
void Start(){ this.transform.SetParent(parent, false); } //立鑽哥哥:void Start(){}
} //立鑽哥哥:public class YanlzTransform{} |
++C3.15、SetSiblingIndex
++C3.15、SetSiblingIndex |
++C3.15、SetSiblingIndex
++++立鑽哥哥:設置同級索引;
void SetSiblingIndex(int index); |
++++[index]:設置索引;
++++設置同級對象的索引;
++C3.16、TransformDirection
++C3.16、TransformDirection |
++C3.16、TransformDirection
++++立鑽哥哥:變換方向;
Vector3 TransformDirection(Vector3 direction);Vector3 TransformDirection(float x, float y, float z); |
++++變換方向從局部座標轉換到世界座標;
++++變換方向x,y,z從局部座標到世界座標;
++++這個操作不會受到變換的縮放和位置的影響;返回的向量與direction有同樣的長度;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{ public Transform cam = Camera.main.transform;
public Vector3 cameraRelativeRight = cam.TransformDirection(Vector3.right); //public Vector3 cameraRelativeRight = cam.TransformDirection(1, 0, 0);
void MyTestFunc(){ rigidbody.AddForce(cameraRelativeRight * 10); } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{} |
++C3.17、TransformPoint
++C3.17、TransformPoint |
++C3.17、TransformPoint
++++立鑽哥哥:變換點;
Vector3 TransformPoint(Vector3 position);Vector3 TransformPoint(float x, float y, float z); |
++++變換位置從局部座標到世界座標;
++++變換位置x, y, z從局部座標到世界座標;
++++注意:返回位置受縮放影響;如果是處理方向使用;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{ public GameObject someObject;
public Vector3 thePosition = transform.TransformPoint(Vector3.right * 2); //public Vector3 thePosition = transform.TransformPoint(2, 0, 0);
void MyTestFunc(){ Instantiate(someObject, thePosition, someObject.transform.rotation) as GameObject; } //立鑽哥哥:void MyTestFunc(){}
} //立鑽哥哥:public class YanlzTransform{} |
++C3.18、TransformVector
++C3.18、TransformVector |
++C3.18、TransformVector
++++立鑽哥哥:變換向量;
public Vector3 TransformVector(Vector3 vector);public Vector3 TransformVector(float x, float y, float z); |
++++變換一個向量從局部座標空間到世界座標空間;
++++變換一個向量(x,y,z)從局部座標空間到世界座標空間;
++++這個操作不受變換位置的影響,但是受縮放的影響;
++C3.19、Translate
++C3.19、Translate |
++C3.19、Translate
++++立鑽哥哥:平移;
void Translate(Vector3 translation, Space relativeTo=Space.Self);void Translate(float x, float y, float z, Space relativeTo=Space.Self);void Translate(Vector3 translation, Transform relativeTo);void Translate(float x, float y, float z, Transform relativeTo); |
++++移動transform在translation的方向和距離;
++++移動變換由x沿着x軸,y沿着y軸,z沿着z軸;
++++移動被應用相對於(relativeTo : Transform)的自身座標系統;日光相對於爲null,則移動被應用相對於世界座標系統;
++++簡單的說,向某方向移動物體多少距離;
++++如果relativeTo留空或者設置爲Space.Self,移動被應用相對於變換的自身軸;(當在場景視圖選擇物體時,x、y和z軸顯示)如果相對於Space.World移動被應用相對於世界座標系統;
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void Update(){ transform.Translate(Vector3.forward * Time.deltaTime); transform.Translate(Vector3.up * Time.deltaTime, Space.World); } //立鑽哥哥:void Update(){}
} //立鑽哥哥:public class YanlzTransform{}
|
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void Update(){ transform.Translate(0, 0, Time.deltaTime); transform.Translate(0, Time.deltaTime, 0, Space.World); } //立鑽哥哥:void Update(){}
} //立鑽哥哥:public class YanlzTransform{}
|
using UnityEngine; using System.Collections; using YanlzXREngine;
public class YanlzTransform : MonoBehaviour{
void Update(){ transform.Translate(Vector3.right * Time.deltaTime, Camera.main.transform); //transform.Translate(Time.deltaTime, 0, 0, Camera.main.transform); } //立鑽哥哥:void Update(){}
} //立鑽哥哥:public class YanlzTransform{}
|
#D4、立鑽哥哥對Transform類的拓展
#D4、立鑽哥哥對Transform類的拓展 |
++++【Unity API】分類:https://blog.csdn.net/vrunsoftyanlz/category_7637520.html
++++[Unity快速入門]:https://blog.csdn.net/VRunSoftYanlz/article/details/105776475
++++[UnityAPI目錄]:https://blog.csdn.net/VRunSoftYanlz/article/details/106533906
++++[Application應用]:https://blog.csdn.net/VRunSoftYanlz/article/details/106086327
++++[Object對象]:https://blog.csdn.net/VRunSoftYanlz/article/details/106202194
++++[GameObject]:https://blog.csdn.net/VRunSoftYanlz/article/details/106223815
++++[MonoBehaviour]:https://blog.csdn.net/VRunSoftYanlz/article/details/106533256
++++[Component組件]:https://blog.csdn.net/VRunSoftYanlz/article/details/106367004
++++[Camera攝像機]:https://blog.csdn.net/VRunSoftYanlz/article/details/106148837
++++[Shader着色器]:https://blog.csdn.net/VRunSoftYanlz/article/details/106321040
++++[Material材質]:https://blog.csdn.net/VRunSoftYanlz/article/details/81814303
++++[Physics物理]:https://blog.csdn.net/VRunSoftYanlz/article/details/106268062
++++[RaycastHit]:https://blog.csdn.net/VRunSoftYanlz/article/details/106292370
++++[ParticleSystem]:https://blog.csdn.net/VRunSoftYanlz/article/details/106341995
++++[WWW萬維網]:https://blog.csdn.net/VRunSoftYanlz/article/details/106412890
++++[LineRenerer]:https://blog.csdn.net/VRunSoftYanlz/article/details/106306388
++++[WheelCollider]:https://blog.csdn.net/VRunSoftYanlz/article/details/82356217
++++[MovieTexture]:https://blog.csdn.net/VRunSoftYanlz/article/details/106434063
++++[Matrix4x4矩陣]:https://blog.csdn.net/VRunSoftYanlz/article/details/106504027
++++[Renerer渲染器]:https://blog.csdn.net/VRunSoftYanlz/article/details/106481994
++++[AudioSource]:https://blog.csdn.net/VRunSoftYanlz/article/details/106462679
++++[AudioClip]:https://blog.csdn.net/VRunSoftYanlz/article/details/106448955
++++[Texture紋理]:https://blog.csdn.net/VRunSoftYanlz/article/details/106448589
++++[AssetBundle]:https://blog.csdn.net/VRunSoftYanlz/article/details/106412190
++++[ScriptableObject]:https://blog.csdn.net/VRunSoftYanlz/article/details/106392769
@@提示:有些博客可能只是開了頭,如果感興趣的同學,可以“點贊”或“評論區留言”,只要關注的同學多了,那就會繼續完善喲!(“++==”,表示沒有寫完的,如果關注度不高就不完善了;“++ok++”,表示此篇博客已經完成,是階段性完整的!)
++++VR雲遊戲=Unity+SteamVR+雲技術+5G+AI;(說明:AI人工智能不是我們的主要研究技術,只是瞭解一下,領略一下有風的感覺!但是,VR是我們的研究重點)
++++【Unity API】分類:https://blog.csdn.net/vrunsoftyanlz/category_7637520.html
++++【Unity開發基礎】分類:https://blog.csdn.net/vrunsoftyanlz/category_7309057.html
++++【Linux系統編程】分類:https://blog.csdn.net/vrunsoftyanlz/category_9694767.html
++++【C++C鑄就生存利器】分類:https://blog.csdn.net/vrunsoftyanlz/category_9325802.html
++++【人工智能AI2026】分類:https://blog.csdn.net/vrunsoftyanlz/category_9212024.html
++++【立鑽哥哥CSDN空間】:https://blog.csdn.net/VRunSoftYanlz/
【XR遊戲開發QQ羣:784477094】
++立鑽哥哥推薦的拓展學習鏈接(Link_Url):
立鑽哥哥推薦的拓展學習鏈接(Link_Url) |
++++立鑽哥哥Unity 學習空間: http://blog.csdn.net/VRunSoftYanlz/
++++虛擬現實VR資訊: https://blog.csdn.net/VRunSoftYanlz/article/details/89165846
++++HTC_VIVE開發基礎:https://blog.csdn.net/VRunSoftYanlz/article/details/81989970
++++Oculus雜談:https://blog.csdn.net/VRunSoftYanlz/article/details/82469850
++++Oculus安裝使用:https://blog.csdn.net/VRunSoftYanlz/article/details/82718982
++++Unity+SteamVR=>VR:https://blog.csdn.net/VRunSoftYanlz/article/details/88809370
++++Unity減少VR暈眩症:https://blog.csdn.net/VRunSoftYanlz/article/details/89115518
++++SteamVR簡介:https://blog.csdn.net/VRunSoftYanlz/article/details/86484254
++++SteamVR腳本功能分析:https://blog.csdn.net/VRunSoftYanlz/article/details/86531480
++++SteamVR2.0開發指南:https://blog.csdn.net/VRunSoftYanlz/article/details/86618187
++++SteamVR2.2.0開發指南:https://blog.csdn.net/VRunSoftYanlz/article/details/88784527
++++SteamVR2.2.0快速入門:https://blog.csdn.net/VRunSoftYanlz/article/details/88833579
++++SteamVR2.2.0交互系統:https://blog.csdn.net/VRunSoftYanlz/article/details/89199778
++++SteamVR2.2.0傳送機制:https://blog.csdn.net/VRunSoftYanlz/article/details/89390866
++++SteamVR2.2.0教程(一):https://blog.csdn.net/VRunSoftYanlz/article/details/89324067
++++SteamVR2.2.0教程(二):https://blog.csdn.net/VRunSoftYanlz/article/details/89894097
++++SteamVR_Skeleton_Poser:https://blog.csdn.net/VRunSoftYanlz/article/details/89931725
++++SteamVR實戰之PMCore:https://blog.csdn.net/VRunSoftYanlz/article/details/89463658
++++SteamVR/Extras:https://blog.csdn.net/VRunSoftYanlz/article/details/86584108
++++SteamVR/Input:https://blog.csdn.net/VRunSoftYanlz/article/details/86601950
++++OpenXR簡介:https://blog.csdn.net/VRunSoftYanlz/article/details/85726365
++++VRTK雜談:https://blog.csdn.net/VRunSoftYanlz/article/details/82562993
++++VRTK快速入門(雜談):https://blog.csdn.net/VRunSoftYanlz/article/details/82955267
++++VRTK官方示例(目錄):https://blog.csdn.net/VRunSoftYanlz/article/details/82955410
++++VRTK代碼結構(目錄):https://blog.csdn.net/VRunSoftYanlz/article/details/82780085
++++VRTK(SceneResources):https://blog.csdn.net/VRunSoftYanlz/article/details/82795400
++++VRTK_ControllerEvents:https://blog.csdn.net/VRunSoftYanlz/article/details/83099512
++++VRTK_InteractTouch:https://blog.csdn.net/VRunSoftYanlz/article/details/83120220
++++虛擬現實行業應用:https://blog.csdn.net/VRunSoftYanlz/article/details/88360157
++++Steam平臺上的VR:https://blog.csdn.net/VRunSoftYanlz/article/details/88960085
++++Steam平臺熱銷VR:https://blog.csdn.net/VRunSoftYanlz/article/details/89007741
++++VR實驗:以太網幀的構成:https://blog.csdn.net/VRunSoftYanlz/article/details/82598140
++++實驗四:存儲器擴展實驗:https://blog.csdn.net/VRunSoftYanlz/article/details/87834434
++++FrameVR示例V0913:https://blog.csdn.net/VRunSoftYanlz/article/details/82808498
++++FrameVR示例V1003:https://blog.csdn.net/VRunSoftYanlz/article/details/83066516
++++SwitchMachineV1022:https://blog.csdn.net/VRunSoftYanlz/article/details/83280886
++++PlaySceneManagerV1022:https://blog.csdn.net/VRunSoftYanlz/article/details/83280886
++++Unity5.x用戶手冊:https://blog.csdn.net/VRunSoftYanlz/article/details/81712741
++++Unity面試題ABC:https://blog.csdn.net/vrunsoftyanlz/article/details/78630687
++++Unity面試題D:https://blog.csdn.net/VRunSoftYanlz/article/details/78630838
++++Unity面試題E:https://blog.csdn.net/vrunsoftyanlz/article/details/78630913
++++Unity面試題F:https://blog.csdn.net/VRunSoftYanlz/article/details/78630945
++++Cocos2dx面試題:https://blog.csdn.net/VRunSoftYanlz/article/details/78630967
++++禪道[zentao]:https://blog.csdn.net/VRunSoftYanlz/article/details/83964057
++++Lua快速入門篇(Xlua拓展):https://blog.csdn.net/VRunSoftYanlz/article/details/81173818
++++Lua快速入門篇(XLua教程):https://blog.csdn.net/VRunSoftYanlz/article/details/81141502
++++Lua快速入門篇(基礎概述):https://blog.csdn.net/VRunSoftYanlz/article/details/81041359
++++框架知識點:https://blog.csdn.net/VRunSoftYanlz/article/details/80862879
++++遊戲框架(UI框架夯實篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80781140
++++遊戲框架(初探篇):https://blog.csdn.net/VRunSoftYanlz/article/details/80630325
++++.Net框架設計:https://blog.csdn.net/VRunSoftYanlz/article/details/87401225
++++從零開始學架構:https://blog.csdn.net/VRunSoftYanlz/article/details/88095895
++++設計模式簡單整理:https://blog.csdn.net/vrunsoftyanlz/article/details/79839641
++++專題:設計模式(精華篇):https://blog.csdn.net/VRunSoftYanlz/article/details/81322678
++++U3D小項目參考:https://blog.csdn.net/vrunsoftyanlz/article/details/80141811
++++Unity小遊戲算法分析:https://blog.csdn.net/VRunSoftYanlz/article/details/87908365
++++Unity案例(Vehicle):https://blog.csdn.net/VRunSoftYanlz/article/details/82355876
++++UML類圖:https://blog.csdn.net/vrunsoftyanlz/article/details/80289461
++++PowerDesigner簡介:https://blog.csdn.net/VRunSoftYanlz/article/details/86500084
++++Unity知識點0001:https://blog.csdn.net/vrunsoftyanlz/article/details/80302012
++++Unity知識點0008:https://blog.csdn.net/VRunSoftYanlz/article/details/81153606
++++U3D_Shader編程(第一篇:快速入門篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80372071
++++U3D_Shader編程(第二篇:基礎夯實篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80372628
++++Unity引擎基礎:https://blog.csdn.net/vrunsoftyanlz/article/details/78881685
++++Unity面向組件開發:https://blog.csdn.net/vrunsoftyanlz/article/details/78881752
++++Unity物理系統:https://blog.csdn.net/vrunsoftyanlz/article/details/78881879
++++Unity2D平臺開發:https://blog.csdn.net/vrunsoftyanlz/article/details/78882034
++++UGUI基礎:https://blog.csdn.net/vrunsoftyanlz/article/details/78884693
++++UGUI進階:https://blog.csdn.net/vrunsoftyanlz/article/details/78884882
++++UGUI綜合:https://blog.csdn.net/vrunsoftyanlz/article/details/78885013
++++Unity動畫系統基礎:https://blog.csdn.net/vrunsoftyanlz/article/details/78886068
++++Unity動畫系統進階:https://blog.csdn.net/vrunsoftyanlz/article/details/78886198
++++Navigation導航系統:https://blog.csdn.net/vrunsoftyanlz/article/details/78886281
++++Unity特效渲染:https://blog.csdn.net/vrunsoftyanlz/article/details/78886403
++++Unity數據存儲:https://blog.csdn.net/vrunsoftyanlz/article/details/79251273
++++Unity中Sqlite數據庫:https://blog.csdn.net/vrunsoftyanlz/article/details/79254162
++++WWW類和協程:https://blog.csdn.net/vrunsoftyanlz/article/details/79254559
++++Unity網絡:https://blog.csdn.net/vrunsoftyanlz/article/details/79254902
++++Unity資源加密:https://blog.csdn.net/VRunSoftYanlz/article/details/87644514
++++PhotonServer簡介:https://blog.csdn.net/VRunSoftYanlz/article/details/86652770
++++編寫Photon遊戲服務器:https://blog.csdn.net/VRunSoftYanlz/article/details/86682935
++++C#事件:https://blog.csdn.net/vrunsoftyanlz/article/details/78631267
++++C#委託:https://blog.csdn.net/vrunsoftyanlz/article/details/78631183
++++C#集合:https://blog.csdn.net/vrunsoftyanlz/article/details/78631175
++++C#泛型:https://blog.csdn.net/vrunsoftyanlz/article/details/78631141
++++C#接口:https://blog.csdn.net/vrunsoftyanlz/article/details/78631122
++++C#靜態類:https://blog.csdn.net/vrunsoftyanlz/article/details/78630979
++++C#中System.String類:https://blog.csdn.net/vrunsoftyanlz/article/details/78630945
++++C#數據類型:https://blog.csdn.net/vrunsoftyanlz/article/details/78630913
++++Unity3D默認的快捷鍵:https://blog.csdn.net/vrunsoftyanlz/article/details/78630838
++++遊戲相關縮寫:https://blog.csdn.net/vrunsoftyanlz/article/details/78630687
++++UnityAPI.Rigidbody剛體:https://blog.csdn.net/VRunSoftYanlz/article/details/81784053
++++UnityAPI.Material材質:https://blog.csdn.net/VRunSoftYanlz/article/details/81814303
++++UnityAPI.Android安卓:https://blog.csdn.net/VRunSoftYanlz/article/details/81843193
++++UnityAPI.AndroidJNI安卓JNI:https://blog.csdn.net/VRunSoftYanlz/article/details/81879345
++++UnityAPI.Transform變換:https://blog.csdn.net/VRunSoftYanlz/article/details/81916293
++++UnityAPI.WheelCollider輪碰撞器:https://blog.csdn.net/VRunSoftYanlz/article/details/82356217
++++UnityAPI.Resources資源:https://blog.csdn.net/VRunSoftYanlz/article/details/83155518
++++JSON數據結構:https://blog.csdn.net/VRunSoftYanlz/article/details/82026644
++++CocosStudio快速入門:https://blog.csdn.net/VRunSoftYanlz/article/details/82356839
++++Unity企業內訓(目錄):https://blog.csdn.net/VRunSoftYanlz/article/details/82634668
++++Unity企業內訓(第1講):https://blog.csdn.net/VRunSoftYanlz/article/details/82634733
++++Unity企業內訓(第2講):https://blog.csdn.net/VRunSoftYanlz/article/details/82861180
++++Unity企業內訓(第3講):https://blog.csdn.net/VRunSoftYanlz/article/details/82927699
++++Unity企業內訓(第4講):https://blog.csdn.net/VRunSoftYanlz/article/details/83479776
++++Unity企業內訓(第5講):https://blog.csdn.net/VRunSoftYanlz/article/details/83963811
++++Unity企業內訓(第6講):https://blog.csdn.net/VRunSoftYanlz/article/details/84207696
++++鑽哥帶您瞭解產品原型:https://blog.csdn.net/VRunSoftYanlz/article/details/87303828
++++插件<Obi Rope>:https://blog.csdn.net/VRunSoftYanlz/article/details/83963905
++++計算機組成原理(教材篇):https://blog.csdn.net/VRunSoftYanlz/article/details/82719129
++++5G接入:雲計算和霧計算:https://blog.csdn.net/VRunSoftYanlz/article/details/88372718
++++雲計算通俗講義:https://blog.csdn.net/VRunSoftYanlz/article/details/88652803
++++立鑽哥哥Unity 學習空間: http://blog.csdn.net/VRunSoftYanlz
--_--VRunSoft:lovezuanzuan--_--