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动态