【Unity】一人称視点の射撃判定にレイ方式を使用する

概要:

画面中央から前方に順光線を発射することで、遭遇したオブジェクトを検知し、ライフスクリプトが付いていれば敵に命中するとみなされる

コアテクノロジー:

光線:Physics.Raycast

コード例:

		Vector3 start = mainCamera.transform.position;//射线起点
		Vector3 to = mainCamera.transform.forward;//射线方向
        RaycastHit hit;//存储碰到的物体
        float maxDistance = 100f;//射线的长度
        if (Physics.Raycast(start , to , out hit ,maxDistance )) {
    
    
            Debug.Log("已射中" + hit.transform.name);
        }
        Health health = hit.transform.GetComponent<Health>();//获取击中目标的生命脚本
        //如果集中目标有生命脚本则调用受伤方法
        if (health != null) {
    
     
            health.Damage(attack);
        }

おすすめ

転載: blog.csdn.net/ainklg/article/details/129903241