b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

摄像机显示鼠标点击的位置在场景中生成物体的应用

电脑杂谈  发布时间:2021-04-13 01:03:50  来源:网络整理

首先上传代码:

1if (Input.GetMouseButtonUp (0)) {
2			if (EventSystem.current.IsPointerOverGameObject ()) {
3				Debug.Log ("touch area is UI");
4			}
5			else{
6				Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
7				RaycastHit hit;
8				if (Physics.Raycast (ray, out hit)) {
9					Debug.Log (hit.point);
10					GameObject point= GameObject.Instantiate (pointPrefab, hit.point, transform.rotation)as GameObject;
11				}
12			}
13		}

实现的功能是在鼠标单击的位置在场景中生成对象。

这里有几个坑:

unity 鼠标点击按钮_unity 鼠标点击的位置_js获取鼠标点击位置

1.由于我的场景中有UI空间,因此当用户单击按钮时,不应生成对象,因此请添加判断代码:

if(EventSystem.current.IsPointerOverGameObject());

2.判断鼠标单击的最早判断语句是Input.GetMouseButton(0),因此,每次单击都会生成多个对象,但是如果按下鼠标,它将连续生成,因此将其更改为Input。.GetMouseButtonUp(0),仅当释放鼠标左键时才会生成对象。

3.如果直接在mousePosition中生成对象,则该对象实际上是点在屏幕上的。所获得的坐标是相机显示屏的坐标,当左下角为(0,0)时,右上角为(1,1)。)因此,使用发射光线的方法,将点击点投影到场景,并获得他的世界坐标。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-367819-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...