在我的拍摄方法中,我通过精确的屏幕中间进行光线投射,效果很好,但现在为了更合适,我想在世界中将其更改为屏幕(也在十字线之间,而不是从屏幕中间)。但是我没有得到任何指示。提前感谢您的帮助。下面是我的screen to world代码。
public void Shoot ()
{
//bullet_target
var layerMask = (1 << 8);
layerMask = ~layerMask;
Vector3 bullet_target = Vector3.zero;
Ray ray = Camera.main.ScreenPointToRay( new Vector3(screen_width_mid, screen_height_mid, 0) );
RaycastHit hit;
GameObject hit_game_object;
Transform hit_transform;
if (Physics.Raycast (ray.origin, ray.direction * 1000 ,out hit, 1500.0f , layerMask) )
{
bullet_target = hit.point;
hit_game_object = hit.transform.gameObject;
hit_transform = hit.transform;
}else
{
hit_game_object = null;
}
if(hit_game_object!=null)
{
if( hit_game_object.tag=="head" )
{
//blah blah do any stuf
}
}
}
}
https://stackoverflow.com/questions/44326008
复制相似问题