对Time.deltaTime的理解

本文介绍了一个Unity脚本示例,该脚本通过控制材质纹理偏移实现简单的动画效果,并自定义了每秒帧数来模拟不同帧率的动画播放。详细展示了如何使用Time.deltaTime来累计时间并触发下一帧的更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    public float timer = 0f;
    public int frameNumber = 10;//每秒的帧数
    public int frameCount = 0;//帧数的计时器
    private Renderer rend;
    void Start () {

        rend = GetComponent<Renderer>();
    }

    // Update is called once per frame
    void Update () {
        //Time.deltaTime是渲染完上一帧(系统的帧)用的时间,用timer+=就是为了使这些(每个Time.deltaTime)累加起来,如果大于或等于你设定的每帧需要的时间(1.0f/frameNumber),则需要去执行下一帧画面
        timer += Time.deltaTime;//这个timer是为了累加起来看是不是大于你设定的执行下一帧的时间
        print (timer);
        if (timer>=1.0f/frameNumber)
        {
            frameCount++;
            timer = 0f;
            int frameIndex = frameCount  % 3;//限制索引
            rend.material.SetTextureOffset ("_MainTex",new Vector2(frameIndex*0.3333333f,0));//一共三帧

        }
    }
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值