zoukankan      html  css  js  c++  java
  • 使用SystemInfo类获取Unity3D运行设备的各类信息(CPU类型,显卡类型等)

     

    1.概述

    2.创建演示项目

    3.编写示例代码

    4.执行代码

    6.其他

    1.概述

    研究完Unity3D的Application类后,就该看了一下SystemInfo类。这两个类都在UnityEngine类中。

    SystemInfo类中的属性都是只读属性,存储着运行平台的一些信息,主要是显卡和设备信息,如:设备的名称、设备的类型、显卡的类型,显卡的名称、显卡供应商(制造商)、系统内存大小、显存大小、支持的渲染目标数量等等。

    2.创建演示项目

    (1)打开Unity3D,新建一个项目;

    (2)新建一个C#脚本,并将脚本绑定到主相机(MianCamera)上;

    (3)单击菜单栏上的GameObject,选择UI,添加一个Text。

    3.编写示例代码

    (1)双击打开刚才新建的脚本,开始编辑代码(其实SystemInfo类很简单)。

    编写的代码如下所示:

      1 using UnityEngine;
      2 
      3 using System.Collections;
      4 
      5 using System.Collections.Generic;
      6 
      7 public class GameControllerScript: MonoBehaviour
      8 
      9 {
     10 
     11     //指定输出文本框
     12 
     13     public UnityEngine.UI.Text messageText;
     14 
     15     //存储临时字符串
     16 
     17     System.Text.StringBuilder info = new System.Text.StringBuilder();
     18 
     19     // Use this for initialization
     20 
     21     void Start()
     22 
     23     {
     24 
     25        
     26 
     27         //将输出文本框置空
     28 
     29         messageText.text = "";
     30 
     31         info.AppendLine("设备与系统信息:");
     32 
     33  
     34 
     35         //设备的模型
     36 
     37         GetMessage("设备模型",SystemInfo.deviceModel);
     38 
     39         //设备的名称
     40 
     41         GetMessage("设备名称",SystemInfo.deviceName);
     42 
     43         //设备的类型
     44 
     45         GetMessage("设备类型(PC电脑,掌上型)",SystemInfo.deviceType.ToString());
     46 
     47         //系统内存大小
     48 
     49         GetMessage("系统内存大小MB",SystemInfo.systemMemorySize.ToString());
     50 
     51         //操作系统
     52 
     53         GetMessage("操作系统",SystemInfo.operatingSystem);
     54 
     55         //设备的唯一标识符
     56 
     57         GetMessage("设备唯一标识符",SystemInfo.deviceUniqueIdentifier);
     58 
     59         //显卡设备标识ID
     60 
     61         GetMessage("显卡ID",SystemInfo.graphicsDeviceID.ToString());
     62 
     63         //显卡名称
     64 
     65         GetMessage("显卡名称", SystemInfo.graphicsDeviceName);
     66 
     67         //显卡类型
     68 
     69         GetMessage("显卡类型",SystemInfo.graphicsDeviceType.ToString());
     70 
     71         //显卡供应商
     72 
     73         GetMessage("显卡供应商", SystemInfo.graphicsDeviceVendor);
     74 
     75         //显卡供应唯一ID
     76 
     77         GetMessage("显卡供应唯一ID", SystemInfo.graphicsDeviceVendorID.ToString());
     78 
     79         //显卡版本号
     80 
     81         GetMessage("显卡版本号",SystemInfo.graphicsDeviceVersion);
     82 
     83         //显卡内存大小
     84 
     85         GetMessage("显存大小MB",SystemInfo.graphicsMemorySize.ToString());
     86 
     87         //显卡是否支持多线程渲染
     88 
     89         GetMessage("显卡是否支持多线程渲染",SystemInfo.graphicsMultiThreaded.ToString());
     90 
     91         //支持的渲染目标数量
     92 
     93         GetMessage("支持的渲染目标数量", SystemInfo.supportedRenderTargetCount.ToString());
     94 
     95  
     96 
     97  
     98 
     99  
    100 
    101  
    102 
    103  
    104 
    105         //输出
    106 
    107         messageText.text = info.ToString();
    108 
    109     }
    110 
    111  
    112 
    113     // Update is called once per frame
    114 
    115     void Update()
    116 
    117     {
    118 
    119         //退出
    120 
    121         if (Input.GetKeyUp("escape"))
    122 
    123         {
    124 
    125  
    126 
    127             if (Input.GetKeyUp("escape"))
    128 
    129             {
    130 
    131                 Application.Quit();
    132 
    133             }
    134 
    135         }
    136 
    137     }
    138 
    139     void GetMessage(params string[] str)
    140 
    141     {
    142 
    143         if(str.Length==2)
    144 
    145         {
    146 
    147             info.AppendLine(str[0]+":"+str[1]);
    148 
    149         }
    150 
    151     }  
    152 
    153 }

    (2)保存代码,转到Unity3D编辑器中,将Text绑定到脚本。

    4.执行代码

    执行代码后可以显示运行设备的一些信息。

    (1)在Unity3D编辑器中运行的结果:

     

    (1)在Windows中的运行的结果:

     

    (1)在Android中的运行的结果:

     

    6.其他

    有兴有趣的话,可以查看官方的文档了解SystemInfo的其他属性和方法,链接是:https://docs.unity3d.com/ScriptReference/SystemInfo.html

    如有错误,还望指正!

  • 相关阅读:
    Unable to lock the administration directory (/var/lib/dpkg/)解决办法
    Linux实训——搭建动态网站
    Linux实训——搭建HTTP服务器
    小程序学习视频教程
    数组的所有方法
    小程序组件封装步骤
    微信小程序生成图片学习
    小程序组件封装学习地址
    开发者在 onPageNotFound 回调中进行重定向处理onPageNotFound(Object)
    小程序中view的自定义属性获取
  • 原文地址:https://www.cnblogs.com/Platform/p/5584207.html
Copyright © 2011-2022 走看看