zoukankan      html  css  js  c++  java
  • Unity序列帧实现

    读取Resources文件夹下的序列帧,两种播放方式。
    1. using UnityEngine;  
    2. using System.Collections;  
    3.   
    4. public class anim_xuanwo: MonoBehaviour {  
    5.     public string movieName = "YouFolderName"  
    6.   
    7.     //动画数组    
    8.     private Object[] anim;  
    9.       
    10.     //帧序列   
    11.     private int nowFram;  
    12.     //动画帧的总数   
    13.     private int mFrameCount;  
    14.     //限制一秒多少帧   
    15.     private float fps = 15;  
    16.     //限制帧的时间    
    17.     private float time = 0;  
    18.       
    19.     void Start(){  
    20.         if(anim == null){  
    21.             anim = Resources.LoadAll(movieName);  
    22.             mFrameCount = anim.Length;  
    23.             nowFram = 0;  
    24.             time = 0;  
    25.         }  
    26.     }  
    27.       
    28.     void OnGUI() {  
    29.         //绘制帧动画   
    30.         DrawAnimation();  
    31.     }  
    32.       
    33.     void DrawAnimation(Object[] img){  
    34.         //方法①:  
    35.         this.renderer.material.mainTexture = (Texture)anim[nowFram];  
    36.   
    37.   
    38.         //方法②:  
    39.         GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), (Texture)anim[nowFram], ScaleMode.ScaleAndCrop);  
    40.   
    41.   
    42.         //计算限制帧时间    
    43.         time += Time.deltaTime;  
    44.          //超过限制帧则切换图片   
    45.         if(time >= 1.0 / fps){  
    46.             //帧序列切换   
    47.             nowFram++;  
    48.             //限制帧清空   
    49.             time = 0;  
    50.             //超过帧动画总数从第0帧开始   
    51.             if(nowFram >= mFrameCount)  
    52.             {  
    53.                 nowFram = 0;  
    54.             }  
    55.         }   
    56.     }  
    57. }  
    58.       
    59.   
    60.       
     

    方法①:贴图动画

    使用这个方法是改变物体上的材质贴图实现序列帧动画功能,该物体必须有材质方能使用。

    方法②:GUI帧动画

    这个方法是通过GUI方式播放序列帧动画功能。
    全屏自适应屏幕全靠第三个参数-ScaleMode
    下面列举ScaleMode的几个类型作用:
  • 相关阅读:
    (78) C# System.Text.Json
    EF 迁移数据库
    element table
    element-plus 安装
    asp.net core 跨域
    JS常用公共方法 获取弹出层合适的宽高
    一篇文章让你搞懂如何通过Nginx来解决跨域问题
    Dubbo系列讲解之服务注册【3万字长文分享】
    Dubbo系列讲解之扩展点实现原理分析【2万字分享】
    MySQL索引篇之索引存储模型
  • 原文地址:https://www.cnblogs.com/leesymbol/p/3276485.html
Copyright © 2011-2022 走看看