Unity3D 摄像机的Transform通过摇杆输出的方向

要解决的问题是:摄像机的方向不固定,当摇杆向前(0,1)推时,主角要往摄像机的朝向(忽略Y方向)走,当摇杆往右(1,0)推的时,主角朝摄像机的右方向

    /// <summary>
    /// 摄像机的Transform通过摇杆输出的方向
    /// </summary>
    /// <param name="t">摄像机的transform</param>
    /// <param name="dir">摇杆的方向</param>
    /// <returns></returns>
    public static Vector2 Transform2Dir(Transform t,Vector2 dir)
    {
        //注意:1、摄像机的Y轴角度和摇杆的坐标系是反方向的  2、角度和弧度
        var f = Mathf.Deg2Rad*(-t.rotation.eulerAngles.y);

        //方向标准化
        dir.Normalize();

        //旋转角度
        var ret = new Vector2(dir.x * Mathf.Cos(f) - dir.y * Mathf.Sin(f), dir.x * Mathf.Sin(f) + dir.y * Mathf.Cos(f));

        return ret;
    }
时间: 2024-08-19 03:18:10

Unity3D 摄像机的Transform通过摇杆输出的方向的相关文章

unity3d摄像机参数解释

unity3d摄像机参数 1. Clear Flags:清除标记.决定屏幕的哪部分将被清除.一般用户使用对台摄像机来描绘不同游戏对象的情况,有3中模式选择: Skybox:天空盒.默认模式.在屏幕中的空白部分将显示当前摄像机的天空盒.如果当前摄像机没有设置天空盒,会默认用Background色. Solid Color:纯色.选择该模式屏幕上的空白部分将显示当前摄像机的background色. Depth only:仅深度.该模式用于游戏对象不希望被裁剪的情况. Dont Clear:不清除.该

unity3d摄像机

主要来自unity3d reference,再加上一些自己的理解 一 概述 摄像头是用于将世界场景投影到屏幕的设备.可以在场景中放置不限数目的摄像机,它们可以设定成任意的渲染次序,渲染到屏幕上的任意地方. 摄 像机实质上是用于将游戏显示给玩家看,它们可以被定制,在上面写脚本或者挂载到其他物体上面以获得想象中的各种效果.对于一个猜谜的游戏,可能只需对游戏 的全部视图保持摄像机静止即可.对于第一人称的射击游戏,常会将摄像机挂载到玩家角色上面,将其放置在角色眼睛的高度.对于一个赛车游戏,可能会让摄像机

Unity3D 摄像机(Camera)

在Unity中创建一个Camera后,除了默认带一个Transform组件外,还会附带Flare Layer.GUI Layer.Audio Listener4个组件 ClearFlags:清除标记:决定屏幕中哪部分被清除.一般用于多台摄像机来描绘不同对象的情况,有一下三种模式. Skybox:天空盒(默认项).在屏幕空白处显示当前摄像机的天空盒,如果没有指定天空盒,则会显示默认背景色. Solid Color:如果没有设置天空盒,将默认显示此处设置的背景色. Depth only:仅深度,该模

Unity3D摄像机尾随人物

这里的镜头主要是从人物的背后尾随的. 首先新建一个C#脚本,命名为MyFollow,然后把下面代码粘贴进去.保存: using UnityEngine; using System.Collections; public class MyFollow : MonoBehaviour { public float distanceAway = 5; // distance from the back of the craft public float distanceUp = 2; // dista

unity3d摄像机参数

1. Clear Flags:清除标记.决定屏幕的哪部分将被清除.一般用户使用对台摄像机来描绘不同游戏对象的情况,有3中模式选择: Skybox:天空盒.默认模式.在屏幕中的空白部分将显示当前摄像机的天空盒.如果当前摄像机没有设置天空盒,会默认用Background色. Solid Color:纯色.选择该模式屏幕上的空白部分将显示当前摄像机的background色. Depth only:仅深度.该模式用于游戏对象不希望被裁剪的情况. Dont Clear:不清除.该模式不清除任何颜色或深度缓

unity3d 摄像机跟随角色时被物体遮挡解决方案

参考文章:http://www.xuanyusong.com/archives/1991 在看此文章时请先看上面的参考文章 看完以上文章后,你也许会想人家都已经给出所有代码了,你还写个毛啊 别急,现在进入主题 在我的项目中,我采用的是物体遮挡作半透明处理,如果按照上述文章中的思路来写代码的话,那么结果就是当多个物体遮挡角色时,只有第一个物体会半透明,如图: 角色被墙和屋顶遮挡住了,但是可以清楚的看见左下角的墙呈半透明状态,而屋顶依旧不透明 为了解决这个问题,我们不采用上述文章中的 physics

unity3d摄像机入门01

Clear Flags 清除标记 决定屏幕的哪部分将被清除.当使用多个相机来描绘不同的游戏景象时,利用它是非常方便的  Background 背景 在镜头中的所有元素描绘完成且没有天空盒的情况下,将选中的颜色应用到剩余的屏幕  Culling Mask 剔除遮罩 包含或忽略相机渲染对象层.在检视视图中为你的对象指派层Size 大小:正交时Clipping Planes 开始和停止渲染之间的距离.Viewport Rect:表示这个相机的视图将绘制在屏幕的什么地方,使用屏幕坐标系(值0-1).De

Unity3D摄像机跟随人物

这里的镜头主要是从人物的背后跟随的. 首先新建一个C#脚本,命名为MyFollow,然后把以下代码粘贴进去,保存: using UnityEngine; using System.Collections; public class MyFollow : MonoBehaviour { public float distanceAway = 5; // distance from the back of the craft public float distanceUp = 2; // dista

Unity3D摄像机带透明截图

转载请注明出处:http://www.cnblogs.com/shamoyuu/p/CropCamera.html ↓↓↓下面的废话可以不看↓↓↓ 最近处理了一批我的游戏的图标,步骤特别繁琐, 需要先摆好位置,截图,然后PS处理透明,然后合成到宫格图里, 而且一次只能处理一个,一个就要好几分钟,总共好几十个,后期肯定会有好几百甚至上千个,真是要了命了 然后昨天睡觉前就想,为什么不自动处理呢,我们程序员不就应该懒一点吗 然后就打算写一个,其他的步骤都比较简单,所以这里只放出透明截图的做法. ↓↓↓