美文网首页
【unity原创】点击地面产生效果的实现

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

作者: 吉凶以情迁 | 来源:发表于2022-08-12 10:10 被阅读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轴配置需要微调。

    相关文章

      网友评论

          本文标题:【unity原创】点击地面产生效果的实现

          本文链接:https://www.haomeiwen.com/subject/msyxgrtx.html