近期热门
粉丝4
关注 1
获赞 0
求教unity面片模型怎么始终面对摄像机?

[特效] 求教unity面片模型怎么始终面对摄像机?

 !heats_icon! [复制链接]
9754 6 0 0 8年前 举报
如题,模型如何才能像粒子的公告板模式一样始终面对摄像机?求大神解答
0
点赞
0
打赏
0
添加到收藏夹

0

点击复制链接

使用微信扫码分享
一次扣10个券
全部评论6
您需要登录后才可以回帖 登录

如果想让面片在空间中始终面向你可以用LookAt方法或者Lookrotation注释旋转 如果你只是想让面片在XY 或者XZ平面旋转可以试试下面的脚本,通过计算两点间角度 然后让A物体绕自身欧拉角旋转该角度 即面向了B物体。
public class mianxiang: MonoBehaviour{
    public GameObject baozha; //你要旋转的面片,即这个脚本绑定在改物体上
    public GameObject camera; //摄像机
           void Update ()
{
         this.transform.rotation = Quaternion.Euler(0, GetAngle(transform.position, camera.transform.position), 0); //调用GetAngle方法计算角             度并让物体绕自身y轴旋转改度数
}
     private float GetAngle(Vector3 a, Vector3 b)  //计算两个点之间的角度 即a点加上该角度为b点
    {
        b.x -= a.x;
        b.z -= a.z;
        float deltaAngle = 0;
        if (b.x == 0 && b.z == 0) //若B点与A点重合 或AB两点同在一个坐标轴上那么AB两点间没有度数直接返回0
        {
            return 0;
        }
        else if (b.x > 0 && b.z > 0)//若B点在第一象限 那么deltaAngle 为0不需要修正角度
        {
            deltaAngle = 0;
        }
        else if (b.x > 0 && b.z == 0)//若B点在x轴正半轴上
        {
            return 90;
        }
        else if (b.x > 0 && b.z < 0)//若B点在第四象限
        {
            deltaAngle = 180;
        }
        else if (b.x == 0 && b.z < 0)//若B点在Z轴负半轴上
        {
            return 180;
        }
        else if (b.x < 0 && b.z < 0)//若B点在第三象限
        {
            deltaAngle = -180;
        }
        else if (b.x < 0 && b.z == 0)//若B点在X轴负半轴
        {
            return -90;
        }
        else if (b.x < 0 && b.z > 0)//若B点在第二象限
        {
            deltaAngle = 0;
        }
        float angle = Mathf.Atan(b.x / b.z) * Mathf.Rad2Deg + deltaAngle;         
        return angle;
       //利用反正切计算两点间弧度并转化为角度 但此角度仅为点B在第一象限 因此需要上面的判断来确定B点在位于A点的第几象限,B点是否刚好落在X轴或者Z轴上,通过deltaAngle来修正角度
    }  
}

7年前
回复

使用道具 举报

对准摄像机  放进摄像机里   也可以吧
8年前
回复

使用道具 举报

amaniya  
骑猪上树 发表于 2016-11-7 13:43
unity自带的功能模型是无法始终面对摄像机的,需要这个功能就得用插件了

好的  谢谢~

8年前
回复

使用道具 举报

unity自带的功能模型是无法始终面对摄像机的,需要这个功能就得用插件了
8年前
回复

使用道具 举报

要么就粒子发射模型 要么就让程序写个脚本
8年前
回复

使用道具 举报

发射模型{:1_339:}
8年前
回复

使用道具 举报

您当前使用的浏览器IE内核版本过低会导致网站显示错误

请使用高速内核浏览器或其他浏览器