【Unity每日一记】WheelColider组件汽车游戏的关键

这篇具有很好参考价值的文章主要介绍了【Unity每日一记】WheelColider组件汽车游戏的关键。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Unity每日一记】WheelColider组件汽车游戏的关键,# Unity精华一记,# unity游戏demo制作,unity,游戏引擎,发动机,c#,游戏开发


👨‍💻个人主页:@元宇宙-秩沅

👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 秩沅 原创

👨‍💻 收录于专栏unity每日一记

⭐🅰️推荐文章⭐


⭐【软件设计师高频考点暴击】

⭐【Unityc#专题篇】之c#系统化大礼包】

⭐【unity数据持久化】数据管理类_PlayerPrfs

⭐【unity本站最全系列】unity常用API大全一篇文章足以


⭐WheelColiderz组件汽车游戏的关键⭐

【Unity每日一记】WheelColider组件汽车游戏的关键,# Unity精华一记,# unity游戏demo制作,unity,游戏引擎,发动机,c#,游戏开发




🎶(A) 关键API知识


API 解释
motorTorque 扭矩力:
brakeTorque 制动扭矩:刹车
Radius 碰撞器车轮半径
Wheel Damping rate 车轮阻尼率
GetWorldPose(out wheelPosition, out wheelRotation); 获取碰撞器当前的空间位置和空间角度。
steerAngle 车轮碰撞器的转向。
GetGroundHit 车轮的地面碰撞数据。
rpm 当前轮轴转速(以每分钟转数为单位)。
isGrounded 车轮是否在空中(只读)
suspensionSpring 车轮悬架的参数。 悬架尝试通过施加线性力和阻尼力来到达目标位置。
WheelHit参数 说明
collider T另一个碰撞机的轮子正在撞击。
force 施加在接触上的力的大小。
forwardDir 滚轮指向的方向。.
forwardSlip 轮胎在滚动方向上打滑。加速滑移为负,制动滑为正
normal 接触点的正常。.
point T车轮与地面之间的接触点。
sidewaysDir 车轮的侧向方向。l.
sidewaysSlip 侧身滑 轮胎向侧向打滑。.
rpm 当前轮轴转速(以每分钟转数为单位)。(只读).

🎶(B) 参数一览


【Unity每日一记】WheelColider组件汽车游戏的关键,# Unity精华一记,# unity游戏demo制作,unity,游戏引擎,发动机,c#,游戏开发


🎶(C) 扭矩力


知识百科:什么是扭矩力?
扭矩是指发动机运转时从曲轴端输出的平均力矩,俗称为发动机的“转劲”,是 发动机性能 的一个重要参数,扭矩越大,发动机输出的“劲”越大,曲轴转速的变化也越快,汽车的爬坡能力、起步速度和加速性也越好。


🎶(D) 阿克曼转向


引用:阿克曼转向是一种现代汽车的转向方式,也是移动机器人的一种运动模式,在汽车转弯的时候,内外轮转过的角度不一样,内侧轮胎转弯半径小于外侧轮胎

  • 后轮距尺寸设置为1.5f ,轴距设置为2.55f ,radius 默认为6,radius 越大旋转的角度看起来越小
 if (horizontal > 0 ) {
//后轮距尺寸设置为1.5f ,轴距设置为2.55f ,radius 默认为6,radius 越大旋转的角度看起来越小
            wheels[0].steerAngle = Mathf.Rad2Deg * Mathf.Atan(2.55f / (radius + (1.5f / 2))) * horizontal;
            wheels[1].steerAngle = Mathf.Rad2Deg * Mathf.Atan(2.55f / (radius - (1.5f / 2))) * horizontal;
        } else if (horizontal < 0 ) {                                                          
            wheels[0].steerAngle = Mathf.Rad2Deg * Mathf.Atan(2.55f / (radius - (1.5f / 2))) * horizontal;
            wheels[1].steerAngle = Mathf.Rad2Deg * Mathf.Atan(2.55f / (radius + (1.5f / 2))) * horizontal;

        } else {
            wheels[0].steerAngle =0;
            wheels[1].steerAngle =0;
        }

🎶(E) 汽车下压力


知识百科: 什么是下压力
下压力是车在行进中空气在车体上下流速不一产生的,使空气的总压力指向地面从而增加车的抓地力.

速度越大,下压力越大,抓地更强,越不易翻车
【Unity每日一记】WheelColider组件汽车游戏的关键,# Unity精华一记,# unity游戏demo制作,unity,游戏引擎,发动机,c#,游戏开发

  • 关键代码
  //-------------下压力添加-----------------

        //速度越大,下压力越大,抓地更强
        rigidbody.AddForce(-transform.up * downForceValue * rigidbody.velocity .magnitude );

🎶(F) 汽车质心


知识百科:什么是质心?——质量中心
汽车制造商在设计汽车时会考虑质心的位置和重心高度,以尽可能减小质心侧偏角。 一些高性能汽车甚至会采用主动悬挂系统来控制车身侧倾,从而减小质心侧偏角,提高车辆的稳定性和操控性。


🎶(G) 发动机相关


发动机功率=扭矩转速n

知识百科:说到汽车发动机,要了解几个参数。排量,功率,扭矩,转速。那么这里和参数之间的关系如何,
排量,就是发动机气缸排出气体的多少。因此说到排量,不管四缸,三缸,二缸,一缸,只要大小一样,排量就相同。
功率,单位时间内做功的多少。那么排量越大,单位时间做功就会越多,因此,排量越大,功率也会越大。
扭矩,它的单位是N·M,所以它是力运动单位距离的结果。它反应的是加速度。扭矩越大,加速能力就越强。
转速,它是单位时间内齿轮转动的圈数。齿轮转的越快,传输给轮胎的转速就越高,车子就跑的越快。
【Unity每日一记】WheelColider组件汽车游戏的关键,# Unity精华一记,# unity游戏demo制作,unity,游戏引擎,发动机,c#,游戏开发

//汽车引擎发动机相关
    public void CarEnginePower()
    {
        WheelRPM();//将轮轴的转速获取

        // 扭矩力(发动机功率) =  功率=扭矩*转速*n

        motorflaot = -enginePowerCurve.Evaluate(engineRPM) * gears[gerrsNurrentNum];
        float velocity = 0.0f;

        //发动机的转速 与 车轮转速 和 挡位比率 成比例

        engineRPM = Mathf.SmoothDamp(engineRPM, 1000 + Mathf.Abs (wheelsRPM) * 3.6f * (gears[gerrsNurrentNum]), ref velocity, smoothTime);
        print(engineRPM);

        VerticalContorl();    //驱动管理

        shifterGearsChange(); //换挡管理
    }

    //获得车轮的转速
    public void WheelRPM()
    {
        float sum = 0;
        for (int i = 0; i < 4; i++)
        {
            sum += wheels[i].rpm;
        }
        //四个车轮轮轴的平均转速
        wheelsRPM = sum / 4;
    }

    //换挡管理
    public void shifterGearsChange()
    {
        if(InputManager.InputManagerment .addGears ) //如果按下E键,加挡
        {
            if(gerrsNurrentNum < gears.Length - 1  )

            gerrsNurrentNum++;
        }
        if(InputManager.InputManagerment.lowGears ) //如果按下Q键,减档
        {
            if (gerrsNurrentNum > 0)

                gerrsNurrentNum--;
        }

    }

🎶(H) 自动挡位变速箱


【Unity每日一记】WheelColider组件汽车游戏的关键,# Unity精华一记,# unity游戏demo制作,unity,游戏引擎,发动机,c#,游戏开发

不仅仅是发动机牵引着汽车去运动。是发动机跟轮胎一起控制汽车去前进,我们前面没有添加发动机,就是靠轮胎的扭矩力去控制汽车的前进

【Unity每日一记】WheelColider组件汽车游戏的关键,# Unity精华一记,# unity游戏demo制作,unity,游戏引擎,发动机,c#,游戏开发

怎么来理解自动档位变速箱呢?当发动机。每个档位的发动机。它超过八千转的时候就要换挡了。所以当我们现在设置发动机的最大转是八千,最小转是五千,超过八千转我们就自动加档。小于了五千转,我们就自动减档。——这个最大转和最小转是模拟跑车的。

当然,判断换挡的依据不仅仅是靠超过最大的这个发动机的最大转,连同每个档位设置的那个限速作为一起判断依据。如下图所示,每个档位的限速如果超过了这个限速,并且超过了最大转速,我们就换挡。

【Unity每日一记】WheelColider组件汽车游戏的关键,# Unity精华一记,# unity游戏demo制作,unity,游戏引擎,发动机,c#,游戏开发


  //换挡管理
  //换挡管理
    public void shifterGearsChange()
    {
        switch (nowGearsType)
        {
            //档位类型是手动档的时候
            case EChooseGreas.handMovement:

                if (InputManager.InputManagerment.addGears) //如果按下E键,加挡
                {
                    if (gerrsNurrentNum < gears.Length - 1)

                        gerrsNurrentNum++;
                }
                if (InputManager.InputManagerment.lowGears) //如果按下Q键,减档
                {
                    if (gerrsNurrentNum > 0)

                        gerrsNurrentNum--;
                }
                break;

            //档位类型是自动档的时候handMovement
            case EChooseGreas.aotomutic:

                //如果车子不在地面不会自动换档

                if (!IsGrounp()) return;

                //当发动机转速大于最高转速 并且 速度也超过了相应挡位的限速 ,数组不越界 并且不是倒车 就加档

                if (engineRPM > maxRPM && Km_H >= gearSpeed[gerrsNurrentNum] && gerrsNurrentNum < gears.Length - 1 && !BackCar())
                    gerrsNurrentNum++;

                //当发动机小于最小转时 减档 (此时未加判断是因为就是要 更好的减速)

                if (engineRPM < minRPM && gerrsNurrentNum > 0)
                    gerrsNurrentNum--;
                break;

            default:
                break;
        }

⭐🅰️系统路线学习点击跳转⭐


⭐【Unityc#专题篇】之c#进阶篇】

⭐【Unityc#专题篇】之c#核心篇】

⭐【Unityc#专题篇】之c#基础篇】

⭐【Unity-c#专题篇】之c#入门篇】

【Unityc#专题篇】—进阶章题单实践练习

⭐【Unityc#专题篇】—基础章题单实践练习

【Unityc#专题篇】—核心章题单实践练习


你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!


【Unity每日一记】WheelColider组件汽车游戏的关键,# Unity精华一记,# unity游戏demo制作,unity,游戏引擎,发动机,c#,游戏开发


四最终代码

【Unity每日一记】WheelColider组件汽车游戏的关键,# Unity精华一记,# unity游戏demo制作,unity,游戏引擎,发动机,c#,游戏开发文章来源地址https://www.toymoban.com/news/detail-691072.html

CarMoveContorl

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//-------------------------------------
//—————————————————————————————————————
//___________项目:       ______________
//___________功能:  车轮的运动
//___________创建者:_______秩沅________
//_____________________________________
//-------------------------------------

//驱动模式的选择
public enum EDriveType
{
    frontDrive,   //前轮驱动
    backDrive,    //后轮驱动
    allDrive      //四驱
}


public class CarMoveControl : MonoBehaviour
{
    //-------------------------------------------
    //四个轮子的碰撞器
    public WheelCollider[] wheels ;

    //网格的获取
    public GameObject[] wheelMesh;
 
    //初始化三维向量和四元数
    private Vector3 wheelPosition = Vector3.zero;
    private Quaternion wheelRotation = Quaternion.identity;
    //-------------------------------------------

    //驱动模式选择 _默认前驱
    public EDriveType DriveType = EDriveType.frontDrive;

    //----------车辆属性特征-----------------------

    //车刚体
    public Rigidbody rigidbody;
    //轮半径
    public float radius = 0.25f;
    //扭矩力度
    public float motorflaot = 8000f;
    //刹车力
    public float brakVualue = 800000f;
    //速度:每小时多少公里
    public int Km_H;
    //下压力
    public float downForceValue = 1000f; 

    //四个轮胎扭矩力的大小
    public float f_right;
    public float f_left;
    public float b_right;
    public float b_left;

    //车轮打滑参数识别
    public float[] slip ;

    //质心
    public Vector3 CenterMass;

    //一些属性的初始化
    private void Start()
    {
        rigidbody = GetComponent<Rigidbody>();
        slip = new float[4];

     }

    private void FixedUpdate()
    {
        VerticalAttribute();//车辆物理属性管理

        WheelsAnimation(); //车轮动画

        VerticalContorl(); //驱动管理

        HorizontalContolr(); //转向管理

        HandbrakControl(); //手刹管理


    }

    //车辆物理属性相关
    public void VerticalAttribute()
    {
        //---------------速度实时---------------
        //1m/s = 3.6km/h
        Km_H =(int)(rigidbody.velocity.magnitude * 3.6) ;
        Km_H = Mathf.Clamp( Km_H,0, 200 );   //油门速度为 0 到 200 Km/H之间

        //--------------扭矩力实时---------------
        //显示每个轮胎的扭矩
        f_right = wheels[0].motorTorque;
        f_left  = wheels[1].motorTorque;
        b_right = wheels[2].motorTorque;
        b_left  = wheels[3].motorTorque;

        //-------------下压力添加-----------------

        //速度越大,下压力越大,抓地更强
        rigidbody.AddForce(-transform.up * downForceValue * rigidbody.velocity .magnitude );

        //-------------质量中心同步----------------

        //质量中心越贴下,越不容易翻
        rigidbody.centerOfMass = CenterMass;
    }

    //垂直轴方向运动管理(驱动管理)
    public void VerticalContorl()
    {

        switch (DriveType)
        {
            case EDriveType.frontDrive: 
                //选择前驱
                if (InputManager.InputManagerment.vertical != 0) //当按下WS键时生效
                {
                    for (int i = 0; i < wheels.Length - 2; i++)
                    {
                        //扭矩力度
                        wheels[i].motorTorque = InputManager.InputManagerment.vertical *(motorflaot / 2); //扭矩马力归半
                    }
                }
                else
                {
                    for (int i = 0; i < wheels.Length - 2; i++)
                    {
                        //扭矩力度
                        wheels[i].motorTorque = 0; 
                    }
                }
                break;
            case EDriveType.backDrive:
                //选择后驱
                if (InputManager.InputManagerment.vertical != 0) //当按下WS键时生效
                {
                    for (int i = 2; i < wheels.Length; i++)
                    {
                        //扭矩力度
                        wheels[i].motorTorque = InputManager.InputManagerment.vertical * (motorflaot / 2); //扭矩马力归半
                    }
                }
                else
                {
                    for (int i = 2; i < wheels.Length ; i++)
                    {
                        //扭矩力度
                        wheels[i].motorTorque = 0;
                    }
                }
                break;
            case EDriveType.allDrive:
                //选择四驱
                if (InputManager.InputManagerment.vertical != 0) //当按下WS键时生效
                {
                    for (int i = 0; i < wheels.Length; i++)
                    {
                        //扭矩力度
                        wheels[i].motorTorque = InputManager.InputManagerment.vertical * ( motorflaot / 4 ); //扭矩马力/4
                    }
                }
                else
                {
                    for (int i = 0; i < wheels.Length; i++)
                    {
                        //扭矩力度
                        wheels[i].motorTorque = 0;
                    }
                }
                break;
            default:
                break;
        }

       

    }

    //水平轴方向运动管理(转向管理)
    public void HorizontalContolr()
    {
  

        if (InputManager.InputManagerment.horizontal > 0)
        {
            //后轮距尺寸设置为1.5f ,轴距设置为2.55f ,radius 默认为6,radius 越大旋转的角度看起来越小
            wheels[0].steerAngle = Mathf.Rad2Deg * Mathf.Atan(2.55f / (radius + (1.5f / 2))) * InputManager.InputManagerment.horizontal;
            wheels[1].steerAngle = Mathf.Rad2Deg * Mathf.Atan(2.55f / (radius - (1.5f / 2))) * InputManager.InputManagerment.horizontal;
        }
        else if (InputManager.InputManagerment.horizontal < 0)
        {
            wheels[0].steerAngle = Mathf.Rad2Deg * Mathf.Atan(2.55f / (radius - (1.5f / 2))) * InputManager.InputManagerment.horizontal;
            wheels[1].steerAngle = Mathf.Rad2Deg * Mathf.Atan(2.55f / (radius + (1.5f / 2))) * InputManager.InputManagerment.horizontal;
       
        }
        else
        {
            wheels[0].steerAngle = 0;
            wheels[1].steerAngle = 0;
        }

    }

    //手刹管理
    public void HandbrakControl()
    {
        if(InputManager.InputManagerment .handbanl )
        {
            //后轮刹车
            wheels[2].brakeTorque  = brakVualue;
            wheels[3].brakeTorque  = brakVualue;
        }
        else
        {
            wheels[2].brakeTorque = 0;
            wheels[3].brakeTorque = 0;
        }

        //------------刹车效果平滑度显示------------

        for (int i = 0; i < slip.Length; i++)
        {
            WheelHit wheelhit;

            wheels[i].GetGroundHit(out wheelhit);

            slip[i] = wheelhit.forwardSlip; //轮胎在滚动方向上打滑。加速滑移为负,制动滑为正
        }
        

    }


    //车轮动画相关
    public  void WheelsAnimation()
    {
        for (int i = 0; i < wheels.Length ; i++)
        {
            //获取当前空间的车轮位置 和 角度
            wheels[i].GetWorldPose(out wheelPosition, out wheelRotation);

            //赋值给
            wheelMesh[i].transform.position = wheelPosition;
            
            wheelMesh[i].transform.rotation = wheelRotation * Quaternion .AngleAxis (90,Vector3 .forward );
           
        }
        
    }
}

CameraFllow

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//-------------------------------------
//—————————————————————————————————————
//___________项目:       ______________
//___________功能: 相机的跟随
//___________创建者:秩沅_______________
//_____________________________________
//-------------------------------------
public class CameraFllow : MonoBehaviour
{
    //目标物体
    public Transform target;
    private CarMoveControl Control;
    public int  speed;

    //鼠标滑轮的速度
    public float ScrollSpeed = 45f;

    //Y轴差距参数
    public float Ydictance = 0f; 
    public float  Ymin = 0f;
    public float  Ymax  = 4f;

    //Z轴差距参数
    public float Zdictance = 4f;
    public float Zmin = 4f;
    public float Zmax = 8f;

    //相机看向的角度 和最終位置
    public float angle = -25 ;
    public Vector3 lookPosition;

    void LateUpdate()
    {
        //Z轴和Y轴的距离和鼠标滑轮联系

        Ydictance += Input.GetAxis("Mouse ScrollWheel") * ScrollSpeed * Time.deltaTime;//平滑效果
        Zdictance += Input.GetAxis("Mouse ScrollWheel") * ScrollSpeed * Time.deltaTime;

        //設置Y軸和x轴的滚轮滑动范围 
        Ydictance = Mathf.Clamp(Ydictance , Ymin ,Ymax )  ; 
        Zdictance = Mathf.Clamp(Zdictance , Zmin, Zmax )  ;

        //确定好角度,四元数 * 三维向量 = 三维向量
        lookPosition = Quaternion.AngleAxis(angle, target .right) * -target.forward ;

        //更新位置
        transform.position = target.position + Vector3.up * Ydictance - lookPosition  * Zdictance  ;

        //更新角度
        transform.rotation = Quaternion.LookRotation(lookPosition);

        //实时速度
          Control = target.GetComponent<CarMoveControl>();

          speed = (int )Control.Km_H / 4;
        
          speed = Mathf.Clamp(speed,0, 55 );   //对应最大200公里每小时

    }
}

InputMana

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//-------------------------------------
//—————————————————————————————————————
//___________项目:       ______________
//___________功能: 输入控制管理器
//___________创建者:秩沅_______________
//_____________________________________
//-------------------------------------
public class InputManager : MonoBehaviour
{
    //单例模式管理
    static private InputManager inputManagerment;
    static public InputManager InputManagerment => inputManagerment;

    public float horizontal;  //水平方向动力值
    public float vertical;    //垂直方向动力值
    public bool  handbanl;    //手刹动力值

    void Awake()
    {
        inputManagerment = this;
    }

    void Update()
    {
        //与Unity中输入管理器的值相互对应

        horizontal = Input.GetAxis("Horizontal");
          vertical = Input.GetAxis("Vertical");
          handbanl = Input.GetAxis("Jump")!= 0 ? true :false ; //按下空格键时就是1,否则为0

    }
}

到了这里,关于【Unity每日一记】WheelColider组件汽车游戏的关键的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity每日一记】资源加载相关你掌握多少?

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : unity每日一记 ⭐【软件设计师高频考点暴击】 ⭐【Unityc#专题篇】之c#系统化大礼包】 ⭐【unity数据持久化】数据管理类_PlayerPrfs ⭐【u

    2024年02月12日
    浏览(38)
  • 【Unity每日一记】资源加载相关和检测相关

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : unity每日一记 ⭐【软件设计师高频考点暴击】 ⭐【Unityc#专题篇】之c#系统化大礼包】 ⭐【unity数据持久化】数据管理类_PlayerPrfs ⭐【u

    2024年02月07日
    浏览(44)
  • 【Unity每日一记】SceneManager场景资源动态加载

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : unity每日一记 ⭐【软件设计师高频考点暴击】 ⭐【Unityc#专题篇】之c#系统化大礼包】 ⭐【unity数据持久化】数据管理类_PlayerPrfs ⭐【u

    2024年02月12日
    浏览(42)
  • 【unity每日一记】资源和场景加载图文详解

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : unity每日一记 ⭐【Unityc#专题篇】之c#系统化大礼包】 ⭐【unity数据持久化】数据管理类_PlayerPrfs ⭐【unity本站最全系列】unity常用API大全

    2024年02月10日
    浏览(44)
  • 【Unity每日一记】Unity不知道如何选择,移动方法,来瞧瞧

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : unity每日一记 ⭐【软件设计师高频考点暴击】 ⭐【Unityc#专题篇】之c#系统化大礼包】 ⭐【unity数据持久化】数据管理类_PlayerPrfs ⭐【u

    2024年04月15日
    浏览(49)
  • 【unity每日一记】 Camera相机+ Screen屏幕+动画机

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : unity每日一记 ⭐【Unityc#专题篇】之c#系统化大礼包】 ⭐【unity数据持久化】数据管理类_PlayerPrfs ⭐【unity本站最全系列】unity常用API大全

    2024年02月10日
    浏览(71)
  • 【Unity每日一记】摄像机相关代码API大全

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 :Unity基础实战 直接作为子对象课实现简单跟随 通过向量的加减更新相机位置来保持简单的跟随 差值位置的实时更新 😶‍🌫️步骤:

    2024年02月12日
    浏览(43)
  • 【Unity每日一记】Unity中的计时器——4种方法的实现

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : unity每日一记 ⭐【软件设计师高频考点暴击】 ⭐【Unityc#专题篇】之c#系统化大礼包】 ⭐【unity数据持久化】数据管理类_PlayerPrfs ⭐【u

    2024年02月06日
    浏览(43)
  • 【Unity每日一记】关于物体(敌方)检测—(向量点乘相关)

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : unity每日一记 ⭐【Unityc#专题篇】之c#系统化大礼包】 ⭐【unity数据持久化】数据管理类_PlayerPrfs ⭐【unity本站最全系列】unity常用API大全

    2024年02月13日
    浏览(44)
  • 【Unity每日一记】时间Time类-做时间管理大师

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : unity每日一记 ⭐【Unityc#专题篇】之c#系统化大礼包】 ⭐【unity数据持久化】数据管理类_PlayerPrfs ⭐【unity本站最全系列】unity常用API大全

    2024年02月16日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包