Unity3d 札记-Let's try shooting 知识点汇总
1\LineRenderer
LineRenderer是用來在3d場景畫直線的一個工具。
public LineRenderer laserline;laserline.SetPositon(0,startposition);laserline.SetPositon(1,endposition);//設置結束位置startpositon,endposition均為Vector3 ,空間三維坐標laserline.enabled(true); laserline.enabled(false);//設置 線是否有效
?
2\Camera.ViewportToWorldPoint (new Vector3(0.5f, 0.5f, 0.0f));
作用:將以Camera為參照系的坐標,轉換到空間三維坐標
Viewport space is normalized and relative to the camera. The bottom-left of the camera is (0,0); the top-right is (1,1). The z position is in world units from the camera.
?
3\Physics.Raycast()
這個方法用來發出射線
public static bool Raycast(Vector3 origin, Vector3 direction, float maxDistance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);
origin 起點
direction 方向
maxDistance 射程
?
這里用的是 Physics.Raycast(rayOrigin,fpsCam.transform.forward, out hit, weaponRange)
?
out 關鍵字用來 導出一個 RaycastHit? 對象, 這個對象是?? 可能的被擊中對象 GameObject
?
4\IEnumerator -? WaitForSeconds? -? StartCoroutine()
WaitForSeconds 是一個對象
WaitForSeconds duration = new WaitForSeconds( float time );//設置延時時間
如何使用 ?? 寫一個方法 以IEnumerator為返回值 ,然后在需要延時的地方? StartCoroutine(IEnumerator funciton());
?
示例:
IEnumerator Sample(){WaitForSeconds duration = new WaitForSeconds( 0.5f );//設置延時時間DisplayText.text="testing……";yied return duration;//這句一定不能少}StartCoroutine(Sample());?
?
5\AudioSource 的使用
public AudioSource hitSound; hitSound.play();?
轉載于:https://www.cnblogs.com/dongfangliu/p/5788166.html
總結
以上是生活随笔為你收集整理的Unity3d 札记-Let's try shooting 知识点汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: base64_encode() 和 ba
- 下一篇: Easyui中使用jquery或js动态