加载中...

unity---射线

射线

image

	 Ray ray= Camera.main.ScreenPointToRay(Input.mousePosition);//获得鼠标射向的射线
            RaycastHit hit;//射线碰撞物体
            if(Physics.Raycast(ray,out hit)){

                Debug.DrawLine(ray.origin,hit.point);//显示射线
               cursor.transform.position=Input.mousePosition;//imge准星移动到鼠标位置
            }

效果图展示

image

点击发射小球

image

if(Input.GetMouseButtonDown(0)){
                GameObject addPosObj=GameObject.CreatePrimitive(PrimitiveType.Sphere);//创建小球
            
            //    addPosObj.GetComponent<Material>().color=Color.red;
                addPosObj.AddComponent<Rigidbody>();
                addPosObj.transform.position=Camera.main.transform.position;//位置固定在摄像头位置
                addPosObj.GetComponent<Rigidbody>().AddForce(100*(hit.point-addPosObj.transform.position));//给小球一个沿着碰撞物体的力
                Destroy(addPosObj,3);//5秒后自动销毁
            }

效果图展示

image

posted @ 2022-04-13 18:07  lxp_blog  阅读(101)  评论(0编辑  收藏  举报