文章目录
✨AI案例,如果觉得对你有用,请点赞收藏关注一波,谢谢支持😘
射线应用
struct in UnityEngine
1、描述
射线表示形式。
射线是从 origin 开始并按照某个 direction 行进的无限长的线。
2、变量
direction 射线的方向。
origin 射线的原点。
2.1、构造函数
Ray 沿着 direction 创建从 origin 开始的射线。
2.2、使用
声名 RaycastHit 、Ray;//
RaycastHit hit;
Ray ray;
Ray((起点)(方向))//
ray = new Ray(Vector3.up,Vector3.forward);
如果有监测到就返回true否者返回false;//
if (Physics.Raycast(ray, out hit)){
打印碰到的信息//
Debug.DrawRay(ray.origin, ray.direction * 20, Color.red);
Debug.DrawLine(ray.origin,ray.direction*20,Color.yellow);
Debug.Log(hit.collider.gameObject);
Debug.Log(hit.collider.tag);
Debug.Log(hit.point);
Debug.Log(hit.collider.transform.position);
Debug.Log(hit.collider.name);
}
3、案例脚本总结
Player
- Player代码
//全局变量
private GameObject Tank;
private float rotationSpeed=2;
private float moveSpeed=50;
private float ver;
private float hor;
public GameObject sendPostion;
public GameObject bullet;
private GameObject bulletObj;
public float senSpeed=10;
public AudioClip clips;
void Update()
{
hor = Input.GetAxis("Horizontal");
ver = Input.GetAxis("Vertical");
transform.position += transform.forward * ver * moveSpeed * Time.deltaTime;
transform.eulerAngles += Vector