首页 Unity的简单入门
文章
取消

Unity的简单入门

一、前言

Unity能够提供强大的游戏仿真系统,其操作较为简单,容易上手。通过C#语言即可完成游戏开发。可以下载到多种插件进行交互使用,较为方便。

二、安装及配置

1、Unity安装

我们可以在unity官网上下载unity hub个人版,然后再hub中进行unity版本的安装,这样会非常节省时间。

https://unity.cn/releases

三、通过WASD控制小球移动及通过串口发送字符

image-20221007153624700

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO.Ports;
using System.Threading;
using System.IO;
using UnityEngine.UI;
using System;
using System.Text;
public class First : MonoBehaviour{
   
  //串口通信
  public static string portName = "COM1";//串口号
  public static int baudRate = 9600;//波特率
  public static Parity parity = 0;//校验位
  public static int dataBit = 8;//数据位
  public static StopBits stopBit = (StopBits)1;//停止位
  static SerialPort sp = new SerialPort(portName, baudRate, parity, dataBit, stopBit);

  //打开串口函数
  public static void OpenPort(){
      
    sp.ReadTimeout = 1000;
    if(!sp.IsOpen){
    
      sp.Open();
    
    }
  }

  //串口发送数据函数
  public static void SendData(byte[] dataStr){
      
    sp.Write(dataStr, 0, dataStr.Length);
    Debug.LogWarning("send successful");

  }

  public float movespeed = 5;
  public GameObject go;

  //初始化函数
  void Start(){

    OpenPort();

    if(sp.IsOpen){

      Debug.LogWarning("port open successful");

    }
    else{

      Debug.LogError("port open failed");

    }

    go = GameObject.Find("Sphere");

  }
  //更新函数  

  void Update(){

    if (Input.GetKey(KeyCode.W)){

      SendData(Encoding.ASCII.GetBytes("123"));
      go.transform.Translate( 0, 0, movespeed * Time.deltaTime, Space.World);

    }
    if (Input.GetKey(KeyCode.S)){

      go.transform.Translate( 0, 0, movespeed * Time.deltaTime * (-1),Space.World);

    }
    if (Input.GetKey(KeyCode.A)){

      go.transform.Translate(movespeed * Time.deltaTime*(-1), 0, 0,  Space.World);

    }
    if (Input.GetKey(KeyCode.D)){

      go.transform.Translate(movespeed * Time.deltaTime, 0, 0,  Space.World);

    }
  }

  //退出函数
  void OnApplicationQuit(){

    if(sp.IsOpen){

      sp.Close();

    }
    Debug.Log("OnApplicationQuit");

  }

}

四、进行导出

Unity自带强大的打包功能,可以直接导出为可执行文件,非常简单。

在File->Building Settings中进行配置,然后点击Build后,工程就被打包为一个可执行文件。

随后就可以在外面直接运行可执行文件了。

本文由作者按照 CC BY 4.0 进行授权