unity向量计算

参考:https://www.cnblogs.com/wywnet/p/4790665.html

上面的文章讲的很重要

 

下面是我自己实现的一个例子

一直一个向量,一个夹角,求另一个向量

按P键改变夹角,Unity开启显示辅助线,可以看见

复制代码
    public Transform Target;
    float jiaodu = 30f;

    void LateUpdate()
    {
        if (Input.GetKeyDown(KeyCode.P))
        {
            jiaodu += 10f;
        }

        Quaternion rotation = Quaternion.Euler(0f, jiaodu, 0f) * Target.rotation;
        Vector3 newPos = rotation * new Vector3(10f, 0f, 0f);
        Debug.DrawLine(Target.rotation * new Vector3(10f, 0f, 0f), Vector3.zero, Color.red);
        Debug.DrawLine(newPos, Vector3.zero, Color.red);
        Debug.Log("newpos " + newPos + " nowpos " + Target.position + " distance " + Vector3.Distance(newPos, Target.position));
    }
复制代码

 

向量旋转

Quaternion.Euler (eulerAngles.x, eulerAngles.y, eulerAngles.z) * Vector3.forward

 

=====================================2022年2月17日 17:29:37===================================

更简单的旋转

        //射线 v1 旋转 per 度,其实垂直平面为 transform.right 得到v3
        Vector3 v3 = Quaternion.AngleAxis(per, transform.right) * v1;

 

posted @   三页菌  阅读(774)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示