【unity原创】点击地面产生效果的实现

2022-08-12  本文已影响0人  吉凶以情迁

首先要做一个3d预制体 然后欧拉角 要调整

上面的每一句代码都有用,点击之后会发现和鼠标的位置有点出入,因为点击是一个斜向的射线,所以要尽量靠近鼠标,所以让这个点击的效果物体靠近鼠标一些就要朝向摄像机,并移动1米,
但是 lookat 会修改x坐标 ,导致整个点击效果 不是平的而是倾斜的 所以需要改成 0,

image.png

                        GameObject clickObject = Instantiate(effectGo);
                                    clickObject.GetComponent<Canvas>().worldCamera = ScreenPageManager.Instance.worldCamera;
                                    clickObject.transform.eulerAngles = Vector3.zero;
                                    clickObject.transform.position = point;
                                    clickObject.transform.position = new Vector3(hitInfoRoom.point.x, tempParent.position.y+1.5f, hitInfoRoom.point.z);
//不看摄像机移动就方向是错的。
                                    clickObject.transform.LookAt(Camera.main.transform, Vector3.up);
                                    clickObject.transform.forward = Camera.main.transform.forward;
//解决倾斜问题
                                    clickObject.transform.rotation = Quaternion.Euler(0,clickObject.transform.eulerAngles.y, clickObject.transform.eulerAngles.z);
                                    clickObject.transform.Translate(Vector3.forward);

另外我这点击的是房子,因为我并没有做地面的,房子本身有地面,所以点击后 点击的是房子,好在轴心是房子底部,而非中心点,否则 y轴配置需要微调。

上一篇下一篇

猜你喜欢

热点阅读