我有一个立方体(一个骰子),当我用鼠标单击时,它会在所有轴上旋转,以向相机显示一个数字。类似的东西:https://youtu.be/8FJa7SYldJw?t=61
为了模拟这种效果,我在字典中列出了保存在Start函数中四元数变量中的对象的旋转。因此,当我单击停止旋转并显示数字时,代码会找到1到6之间的随机数,并使骰子停止显示生成的数字。代码如下:
    void Start()
    {
        rb = GetComponent <Rigidbody>();
        
        rb.transform.position = Camera.main.transform.position + Camera.main.transform.forward * 7;
        number1 = Quaternion.Euler(-37.2f, 44.76f, -3.05f);
        number2 = Quaternion.Euler(52.015f, 39.623f, -4.05f);
        number3 = Quaternion.Euler(-2.614f, -47.70f, 37.93f);
        number4 = Quaternion.Euler(2.42f, 132.4f, -37.1f);
        number5 = Quaternion.Euler(37.0f, 226.27f, 4.243f);
        number6 = Quaternion.Euler(-51.72f, -139.93f, 181.95f);       
    }
    void FixedUpdate()
    {
         rb.transform.Rotate(360.0f, 90.0f, 180.0f * 12 * Time.deltaTime);         
            
            if (Input.GetMouseButtonDown(0))
            {                
               Dictionary<int, Quaternion> diceNumbers = new Dictionary<int, Quaternion>();
               diceNumbers.Add(1, number1);
               diceNumbers.Add(2, number2);
               diceNumbers.Add(3, number3);
               diceNumbers.Add(4, number4);
               diceNumbers.Add(5, number5);
               diceNumbers.Add(6, number6);
               List<int> keyNumbers = new List<int>(diceNumbers.Keys);
               diceResult = Random.Range(1, 6);
               rb.transform.rotation = diceNumbers[diceResult];           
            }
            
    }
问题是,这个解决方案只有在相机被锁定在某个位置时才有效,现在我希望相机跟随角色,当它旋转以改变方向时,坐标对我来说用处不大。有什么想法可以让骰子显示我想要的一面,即使相机旋转?非常感谢。