衡阳网站设计ss0734,揭阳企业建站程序,河南省建设厅资质公示,怎么做外贸网站优化推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好#xff0c;我是佛系工程师☆恬静的小魔龙☆#xff0c;不定时更新Unity开发技巧#xff0c;觉得有用记得一键三连哦。
一、前言
在开发中#xff0c;会遇到要使用监控键盘输入的KeyCode值来执… 推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好我是佛系工程师☆恬静的小魔龙☆不定时更新Unity开发技巧觉得有用记得一键三连哦。
一、前言
在开发中会遇到要使用监控键盘输入的KeyCode值来执行代码的情况。
比如说
using System;
using UnityEditor;
using UnityEngine;public class Test01 : MonoBehaviour
{void Update(){if (Input.GetKeyDown(KeyCode.W)){Debug.Log(点击了键盘W);}}
}但是如果是一些不常用的键位比如说{}[]这些KeyCode值就比较难查看了因为API是这样的 根本不知道这英文还是数字代表了啥于是就诞生了在Unity做一个键盘然后在键盘的键位下标注每个键位的KeyCode值方便开发。
先看下效果图
小明键位没有对齐逼死强迫症啊喂 张三不重要不重要
二、正文
2-1、构建键盘键值表
让我们新建一个脚本命名为VirtualKeyboardEditor.cs名字无所谓主要是要继承与EditorWindow类并且把脚本放到Editor文件夹内。
编辑代码
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;public class VirtualKeyboardEditor : EditorWindow
{[MenuItem(工具/键盘映射值)]static void OpenWindow(){GetWindowVirtualKeyboardEditor().Show();}//用于绘制窗口内容private void OnGUI(){}
}然后我们需要写一个自定义类用来保存键盘值名和KeyCode值以及长宽。
// 键盘映射value值
public class VirKeyValue
{public float height;public float width;public string name;public string key;public VirKeyValue(string name, string key, float width, float height){this.name name;this.width width;this.height height;this.key key;}
}接着构建键值库
static Dictionaryint, ListVirKeyValue dicVirKeys;const int width1 50;const int width2 80;const int width100 100;const int width120 120;const int width140 138;const int width3 300;const int height1 30;private void DataInit(){if (dicVirKeys null){dicVirKeys new Dictionaryint, ListVirKeyValue();ListVirKeyValue tempVirKeys new ListVirKeyValue{new VirKeyValue(Esc,Esc, width1, height1),new VirKeyValue(F1,F1, width1, height1),new VirKeyValue(F2,F2, width1, height1),new VirKeyValue(F3,F3, width1, height1),new VirKeyValue(F4,F4, width1, height1),new VirKeyValue(F5,F5, width1, height1),new VirKeyValue(F6,F6, width1, height1),new VirKeyValue(F7,F7, width1, height1),new VirKeyValue(F8,F8, width1, height1),new VirKeyValue(F9,F9, width1, height1),new VirKeyValue(F10,F10, width1, height1),new VirKeyValue(F11,F11, width1, height1),new VirKeyValue(F12,F12, width1, height1),new VirKeyValue(Print\nScreen,Print, width1, height1),new VirKeyValue(Scroll\nLock, ScrollLockScroll,width1, height1),new VirKeyValue(Pause,Pause, width1, height1)};dicVirKeys.Add(0, tempVirKeys);tempVirKeys new ListVirKeyValue{new VirKeyValue(~\n,BackQuote, width1, height1),new VirKeyValue(!\n1,Alpha1, width1, height1),new VirKeyValue(\n2,Alpha2, width1, height1),new VirKeyValue(#\n3,Alpha3, width1, height1),new VirKeyValue($\n4,Alpha4, width1, height1),new VirKeyValue(%\n5,Alpha5, width1, height1),new VirKeyValue(^\n6,Alpha6, width1, height1),new VirKeyValue(\n7,Alpha7, width1, height1),new VirKeyValue(*\n8,Alpha8, width1, height1),new VirKeyValue((\n9,Alpha9, width1, height1),new VirKeyValue()\n0,Alpha0, width1, height1),new VirKeyValue(_\n-,Minus, width1, height1),new VirKeyValue(\n,Equals, width1, height1),new VirKeyValue(←Backspace,Backspace, width120, height1),new VirKeyValue(Insert,Insert, width1, height1),new VirKeyValue(Home, Home,width1, height1),new VirKeyValue(Page\nUp, PageUp,width1, height1),new VirKeyValue(NumLk,Numlock, width1, height1),new VirKeyValue(/,KeypadDivide, width1, height1),new VirKeyValue(*,KeypadMultiply, width1, height1),new VirKeyValue(-,KeypadMinus, width1, height1),};dicVirKeys.Add(1, tempVirKeys);tempVirKeys new ListVirKeyValue{new VirKeyValue(Tab,Tab, width100, height1),new VirKeyValue(Q,Q,width1, height1),new VirKeyValue(W,W,width1, height1),new VirKeyValue(E,E,width1, height1),new VirKeyValue(R,R,width1, height1),new VirKeyValue(T,T,width1, height1),new VirKeyValue(Y,Y,width1, height1),new VirKeyValue(U,U,width1, height1),new VirKeyValue(I,I,width1, height1),new VirKeyValue(O,O,width1, height1),new VirKeyValue(P,P,width1, height1),new VirKeyValue({\n[,LeftBracket, width1, height1),new VirKeyValue(}\n],RightBracket, width1, height1),new VirKeyValue(|\n\\, Backslash,70, height1),new VirKeyValue(Delete, Delete,width1, height1),new VirKeyValue(End, End,width1, height1),new VirKeyValue(Page\nDown,PageDown, width1, height1),new VirKeyValue(7,Keypad7,width1, height1),new VirKeyValue(8,Keypad8,width1, height1),new VirKeyValue(9,Keypad9,width1, height1),new VirKeyValue(,KeypadPlus,width1, height1),};dicVirKeys.Add(2, tempVirKeys);tempVirKeys new ListVirKeyValue{new VirKeyValue(Caps\nLock,Backspace, width120, height1),new VirKeyValue(A,A, width1, height1),new VirKeyValue(S,S, width1, height1),new VirKeyValue(D,D, width1, height1),new VirKeyValue(F,F, width1, height1),new VirKeyValue(G,G, width1, height1),new VirKeyValue(H,H, width1, height1),new VirKeyValue(J,J, width1, height1),new VirKeyValue(K,K, width1, height1),new VirKeyValue(L,L, width1, height1),new VirKeyValue(:\n;,Semicolon, width1, height1),new VirKeyValue(\\n,Quote, width1, height1),new VirKeyValue(Enter,Enter, 104, height1),new VirKeyValue(4,Keypad4,width1, height1),new VirKeyValue(5,Keypad5,width1, height1),new VirKeyValue(6,Keypad6,width1, height1),new VirKeyValue(Enter,KeypadEnter, width1, height1),};dicVirKeys.Add(3, tempVirKeys);tempVirKeys new ListVirKeyValue{new VirKeyValue(Shift,LeftShift, width140, height1),new VirKeyValue(Z,Z,width1, height1),new VirKeyValue(X,X,width1, height1),new VirKeyValue(C,C,width1, height1),new VirKeyValue(V,V,width1, height1),new VirKeyValue(B,B,width1, height1),new VirKeyValue(N,N,width1, height1),new VirKeyValue(M,M,width1, height1),new VirKeyValue(\n,,Comma, width1, height1),new VirKeyValue(\n.,Period, width1, height1),new VirKeyValue(?\n/,Slash, width1, height1),new VirKeyValue(Shift,RightControl, width140, height1),new VirKeyValue(↑,UpArrow, width1, height1),new VirKeyValue(1,Keypad1, width1, height1),new VirKeyValue(2,Keypad2, width1, height1),new VirKeyValue(3,Keypad3, width1, height1),};dicVirKeys.Add(4, tempVirKeys);tempVirKeys new ListVirKeyValue{new VirKeyValue(Ctrl,LeftControl, width2, height1),new VirKeyValue(Win, LeftWindows,width1, height1),new VirKeyValue(Alt, LeftAlt,width1, height1),new VirKeyValue(—————Space———,Space, width3, height1),new VirKeyValue(Alt, RightAlt,width1, height1),new VirKeyValue(Ctrl, RightControl,width2, height1),new VirKeyValue(←,LeftArrow,width1, height1),new VirKeyValue(↓,DownArrow,width1, height1),new VirKeyValue(→,RightArrow,width1, height1),new VirKeyValue(0,Keypad0,width100, height1),new VirKeyValue(.,KeypadPeriod,width1, height1),};dicVirKeys.Add(5, tempVirKeys);}}整体代码如下
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;// 键盘映射value值
public class VirKeyValue
{public float height;public float width;public string name;public string key;public VirKeyValue(string name, string key, float width, float height){this.name name;this.width width;this.height height;this.key key;}
}
public class VirtualKeyboardEditor : EditorWindow
{[MenuItem(工具/键盘映射值)]static void OpenWindow(){GetWindowVirtualKeyboardEditor().Show();}static Dictionaryint, ListVirKeyValue dicVirKeys;const int width1 50;const int width2 80;const int width100 100;const int width120 120;const int width140 138;const int width3 300;const int height1 30;private void DataInit(){if (dicVirKeys null){dicVirKeys new Dictionaryint, ListVirKeyValue();ListVirKeyValue tempVirKeys new ListVirKeyValue{new VirKeyValue(Esc,Esc, width1, height1),new VirKeyValue(F1,F1, width1, height1),new VirKeyValue(F2,F2, width1, height1),new VirKeyValue(F3,F3, width1, height1),new VirKeyValue(F4,F4, width1, height1),new VirKeyValue(F5,F5, width1, height1),new VirKeyValue(F6,F6, width1, height1),new VirKeyValue(F7,F7, width1, height1),new VirKeyValue(F8,F8, width1, height1),new VirKeyValue(F9,F9, width1, height1),new VirKeyValue(F10,F10, width1, height1),new VirKeyValue(F11,F11, width1, height1),new VirKeyValue(F12,F12, width1, height1),new VirKeyValue(Print\nScreen,Print, width1, height1),new VirKeyValue(Scroll\nLock, ScrollLockScroll,width1, height1),new VirKeyValue(Pause,Pause, width1, height1)};dicVirKeys.Add(0, tempVirKeys);tempVirKeys new ListVirKeyValue{new VirKeyValue(~\n,BackQuote, width1, height1),new VirKeyValue(!\n1,Alpha1, width1, height1),new VirKeyValue(\n2,Alpha2, width1, height1),new VirKeyValue(#\n3,Alpha3, width1, height1),new VirKeyValue($\n4,Alpha4, width1, height1),new VirKeyValue(%\n5,Alpha5, width1, height1),new VirKeyValue(^\n6,Alpha6, width1, height1),new VirKeyValue(\n7,Alpha7, width1, height1),new VirKeyValue(*\n8,Alpha8, width1, height1),new VirKeyValue((\n9,Alpha9, width1, height1),new VirKeyValue()\n0,Alpha0, width1, height1),new VirKeyValue(_\n-,Minus, width1, height1),new VirKeyValue(\n,Equals, width1, height1),new VirKeyValue(←Backspace,Backspace, width120, height1),new VirKeyValue(Insert,Insert, width1, height1),new VirKeyValue(Home, Home,width1, height1),new VirKeyValue(Page\nUp, PageUp,width1, height1),new VirKeyValue(NumLk,Numlock, width1, height1),new VirKeyValue(/,KeypadDivide, width1, height1),new VirKeyValue(*,KeypadMultiply, width1, height1),new VirKeyValue(-,KeypadMinus, width1, height1),};dicVirKeys.Add(1, tempVirKeys);tempVirKeys new ListVirKeyValue{new VirKeyValue(Tab,Tab, width100, height1),new VirKeyValue(Q,Q,width1, height1),new VirKeyValue(W,W,width1, height1),new VirKeyValue(E,E,width1, height1),new VirKeyValue(R,R,width1, height1),new VirKeyValue(T,T,width1, height1),new VirKeyValue(Y,Y,width1, height1),new VirKeyValue(U,U,width1, height1),new VirKeyValue(I,I,width1, height1),new VirKeyValue(O,O,width1, height1),new VirKeyValue(P,P,width1, height1),new VirKeyValue({\n[,LeftBracket, width1, height1),new VirKeyValue(}\n],RightBracket, width1, height1),new VirKeyValue(|\n\\, Backslash,70, height1),new VirKeyValue(Delete, Delete,width1, height1),new VirKeyValue(End, End,width1, height1),new VirKeyValue(Page\nDown,PageDown, width1, height1),new VirKeyValue(7,Keypad7,width1, height1),new VirKeyValue(8,Keypad8,width1, height1),new VirKeyValue(9,Keypad9,width1, height1),new VirKeyValue(,KeypadPlus,width1, height1),};dicVirKeys.Add(2, tempVirKeys);tempVirKeys new ListVirKeyValue{new VirKeyValue(Caps\nLock,Backspace, width120, height1),new VirKeyValue(A,A, width1, height1),new VirKeyValue(S,S, width1, height1),new VirKeyValue(D,D, width1, height1),new VirKeyValue(F,F, width1, height1),new VirKeyValue(G,G, width1, height1),new VirKeyValue(H,H, width1, height1),new VirKeyValue(J,J, width1, height1),new VirKeyValue(K,K, width1, height1),new VirKeyValue(L,L, width1, height1),new VirKeyValue(:\n;,Semicolon, width1, height1),new VirKeyValue(\\n,Quote, width1, height1),new VirKeyValue(Enter,Enter, 104, height1),new VirKeyValue(4,Keypad4,width1, height1),new VirKeyValue(5,Keypad5,width1, height1),new VirKeyValue(6,Keypad6,width1, height1),new VirKeyValue(Enter,KeypadEnter, width1, height1),};dicVirKeys.Add(3, tempVirKeys);tempVirKeys new ListVirKeyValue{new VirKeyValue(Shift,LeftShift, width140, height1),new VirKeyValue(Z,Z,width1, height1),new VirKeyValue(X,X,width1, height1),new VirKeyValue(C,C,width1, height1),new VirKeyValue(V,V,width1, height1),new VirKeyValue(B,B,width1, height1),new VirKeyValue(N,N,width1, height1),new VirKeyValue(M,M,width1, height1),new VirKeyValue(\n,,Comma, width1, height1),new VirKeyValue(\n.,Period, width1, height1),new VirKeyValue(?\n/,Slash, width1, height1),new VirKeyValue(Shift,RightControl, width140, height1),new VirKeyValue(↑,UpArrow, width1, height1),new VirKeyValue(1,Keypad1, width1, height1),new VirKeyValue(2,Keypad2, width1, height1),new VirKeyValue(3,Keypad3, width1, height1),};dicVirKeys.Add(4, tempVirKeys);tempVirKeys new ListVirKeyValue{new VirKeyValue(Ctrl,LeftControl, width2, height1),new VirKeyValue(Win, LeftWindows,width1, height1),new VirKeyValue(Alt, LeftAlt,width1, height1),new VirKeyValue(—————Space———,Space, width3, height1),new VirKeyValue(Alt, RightAlt,width1, height1),new VirKeyValue(Ctrl, RightControl,width2, height1),new VirKeyValue(←,LeftArrow,width1, height1),new VirKeyValue(↓,DownArrow,width1, height1),new VirKeyValue(→,RightArrow,width1, height1),new VirKeyValue(0,Keypad0,width100, height1),new VirKeyValue(.,KeypadPeriod,width1, height1),};dicVirKeys.Add(5, tempVirKeys);}}//用于绘制窗口内容private void OnGUI(){}
}2-2、界面绘制
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;// 键盘映射value值
public class VirKeyValue
{public float height;public float width;public string name;public string key;public VirKeyValue(string name, string key, float width, float height){this.name name;this.width width;this.height height;this.key key;}
}
public class VirtualKeyboardEditor : EditorWindow
{[MenuItem(工具/键盘映射值)]static void OpenWindow(){GetWindowVirtualKeyboardEditor().Show();}static Dictionaryint, ListVirKeyValue dicVirKeys;const int width1 50;const int width2 80;const int width100 100;const int width120 120;const int width140 138;const int width3 300;const int height1 30;private void DataInit(){if (dicVirKeys null){dicVirKeys new Dictionaryint, ListVirKeyValue();ListVirKeyValue tempVirKeys new ListVirKeyValue{new VirKeyValue(Esc,Esc, width1, height1),new VirKeyValue(F1,F1, width1, height1),new VirKeyValue(F2,F2, width1, height1),new VirKeyValue(F3,F3, width1, height1),new VirKeyValue(F4,F4, width1, height1),new VirKeyValue(F5,F5, width1, height1),new VirKeyValue(F6,F6, width1, height1),new VirKeyValue(F7,F7, width1, height1),new VirKeyValue(F8,F8, width1, height1),new VirKeyValue(F9,F9, width1, height1),new VirKeyValue(F10,F10, width1, height1),new VirKeyValue(F11,F11, width1, height1),new VirKeyValue(F12,F12, width1, height1),new VirKeyValue(Print\nScreen,Print, width1, height1),new VirKeyValue(Scroll\nLock, ScrollLockScroll,width1, height1),new VirKeyValue(Pause,Pause, width1, height1)};dicVirKeys.Add(0, tempVirKeys);tempVirKeys new ListVirKeyValue{new VirKeyValue(~\n,BackQuote, width1, height1),new VirKeyValue(!\n1,Alpha1, width1, height1),new VirKeyValue(\n2,Alpha2, width1, height1),new VirKeyValue(#\n3,Alpha3, width1, height1),new VirKeyValue($\n4,Alpha4, width1, height1),new VirKeyValue(%\n5,Alpha5, width1, height1),new VirKeyValue(^\n6,Alpha6, width1, height1),new VirKeyValue(\n7,Alpha7, width1, height1),new VirKeyValue(*\n8,Alpha8, width1, height1),new VirKeyValue((\n9,Alpha9, width1, height1),new VirKeyValue()\n0,Alpha0, width1, height1),new VirKeyValue(_\n-,Minus, width1, height1),new VirKeyValue(\n,Equals, width1, height1),new VirKeyValue(←Backspace,Backspace, width120, height1),new VirKeyValue(Insert,Insert, width1, height1),new VirKeyValue(Home, Home,width1, height1),new VirKeyValue(Page\nUp, PageUp,width1, height1),new VirKeyValue(NumLk,Numlock, width1, height1),new VirKeyValue(/,KeypadDivide, width1, height1),new VirKeyValue(*,KeypadMultiply, width1, height1),new VirKeyValue(-,KeypadMinus, width1, height1),};dicVirKeys.Add(1, tempVirKeys);tempVirKeys new ListVirKeyValue{new VirKeyValue(Tab,Tab, width100, height1),new VirKeyValue(Q,Q,width1, height1),new VirKeyValue(W,W,width1, height1),new VirKeyValue(E,E,width1, height1),new VirKeyValue(R,R,width1, height1),new VirKeyValue(T,T,width1, height1),new VirKeyValue(Y,Y,width1, height1),new VirKeyValue(U,U,width1, height1),new VirKeyValue(I,I,width1, height1),new VirKeyValue(O,O,width1, height1),new VirKeyValue(P,P,width1, height1),new VirKeyValue({\n[,LeftBracket, width1, height1),new VirKeyValue(}\n],RightBracket, width1, height1),new VirKeyValue(|\n\\, Backslash,70, height1),new VirKeyValue(Delete, Delete,width1, height1),new VirKeyValue(End, End,width1, height1),new VirKeyValue(Page\nDown,PageDown, width1, height1),new VirKeyValue(7,Keypad7,width1, height1),new VirKeyValue(8,Keypad8,width1, height1),new VirKeyValue(9,Keypad9,width1, height1),new VirKeyValue(,KeypadPlus,width1, height1),};dicVirKeys.Add(2, tempVirKeys);tempVirKeys new ListVirKeyValue{new VirKeyValue(Caps\nLock,Backspace, width120, height1),new VirKeyValue(A,A, width1, height1),new VirKeyValue(S,S, width1, height1),new VirKeyValue(D,D, width1, height1),new VirKeyValue(F,F, width1, height1),new VirKeyValue(G,G, width1, height1),new VirKeyValue(H,H, width1, height1),new VirKeyValue(J,J, width1, height1),new VirKeyValue(K,K, width1, height1),new VirKeyValue(L,L, width1, height1),new VirKeyValue(:\n;,Semicolon, width1, height1),new VirKeyValue(\\n,Quote, width1, height1),new VirKeyValue(Enter,Enter, 104, height1),new VirKeyValue(4,Keypad4,width1, height1),new VirKeyValue(5,Keypad5,width1, height1),new VirKeyValue(6,Keypad6,width1, height1),new VirKeyValue(Enter,KeypadEnter, width1, height1),};dicVirKeys.Add(3, tempVirKeys);tempVirKeys new ListVirKeyValue{new VirKeyValue(Shift,LeftShift, width140, height1),new VirKeyValue(Z,Z,width1, height1),new VirKeyValue(X,X,width1, height1),new VirKeyValue(C,C,width1, height1),new VirKeyValue(V,V,width1, height1),new VirKeyValue(B,B,width1, height1),new VirKeyValue(N,N,width1, height1),new VirKeyValue(M,M,width1, height1),new VirKeyValue(\n,,Comma, width1, height1),new VirKeyValue(\n.,Period, width1, height1),new VirKeyValue(?\n/,Slash, width1, height1),new VirKeyValue(Shift,RightControl, width140, height1),new VirKeyValue(↑,UpArrow, width1, height1),new VirKeyValue(1,Keypad1, width1, height1),new VirKeyValue(2,Keypad2, width1, height1),new VirKeyValue(3,Keypad3, width1, height1),};dicVirKeys.Add(4, tempVirKeys);tempVirKeys new ListVirKeyValue{new VirKeyValue(Ctrl,LeftControl, width2, height1),new VirKeyValue(Win, LeftWindows,width1, height1),new VirKeyValue(Alt, LeftAlt,width1, height1),new VirKeyValue(—————Space———,Space, width3, height1),new VirKeyValue(Alt, RightAlt,width1, height1),new VirKeyValue(Ctrl, RightControl,width2, height1),new VirKeyValue(←,LeftArrow,width1, height1),new VirKeyValue(↓,DownArrow,width1, height1),new VirKeyValue(→,RightArrow,width1, height1),new VirKeyValue(0,Keypad0,width100, height1),new VirKeyValue(.,KeypadPeriod,width1, height1),};dicVirKeys.Add(5, tempVirKeys);}}//用于绘制窗口内容private void OnGUI(){DataInit();GUILayout.Label(Note在开发中会遇到使用监控键盘输入的情况但是KeyCode的值往往分不清楚此工具就是跟键盘一一对应的Key值不清楚的时候 看一眼就行了当然也可以点击按钮点击后可以打印当前KeyCode值。);for (int i 0; i dicVirKeys.Count; i){GUILayout.BeginVertical();OnRow(i);GUILayout.EndVertical();}}void OnRow(int index){GUILayout.BeginHorizontal();for (int i 0; i dicVirKeys[index].Count; i){if (dicVirKeys[index][i].name ↑){GUILayout.Space(50);}else if (dicVirKeys[index][i].name ←){GUILayout.Space(180);}else if (dicVirKeys[index][i].name 4){GUILayout.Space(160);}else if (dicVirKeys[index][i].name 1){GUILayout.Space(60);}else if (dicVirKeys[index][i].name 0){GUILayout.Space(6);}GUILayout.BeginVertical();if (GUILayout.Button(dicVirKeys[index][i].name, GUILayout.Width(dicVirKeys[index][i].width), GUILayout.Height(dicVirKeys[index][i].height))){Debug.Log(当前按下的键位是 : KeyCode. dicVirKeys[index][i].key);}GUILayout.Label(dicVirKeys[index][i].key);GUILayout.EndVertical();if (dicVirKeys[index][i].name Esc){GUILayout.Space(52);}else if (dicVirKeys[index][i].name F4){GUILayout.Space(36);}else if (dicVirKeys[index][i].name F8){GUILayout.Space(36);}}GUILayout.EndHorizontal();}
}然后在Untiy编辑器的Edit栏选择工具→键盘映射值打开面板
三、后记
如果觉得本篇文章有用别忘了点个关注关注不迷路持续分享更多Unity干货文章。 你的点赞就是对博主的支持有问题记得留言
博主主页有联系方式。
博主还有跟多宝藏文章等待你的发掘哦
专栏方向简介Unity3D开发小游戏小游戏开发教程分享一些使用Unity3D引擎开发的小游戏分享一些制作小游戏的教程。Unity3D从入门到进阶入门从自学Unity中获取灵感总结从零开始学习Unity的路线有C#和Unity的知识。Unity3D之UGUIUGUIUnity的UI系统UGUI全解析从UGUI的基础控件开始讲起然后将UGUI的原理UGUI的使用全面教学。Unity3D之读取数据文件读取使用Unity3D读取txt文档、json文档、xml文档、csv文档、Excel文档。Unity3D之数据集合数据集合数组集合数组、List、字典、堆栈、链表等数据集合知识分享。Unity3D之VR/AR虚拟仿真开发虚拟仿真总结博主工作常见的虚拟仿真需求进行案例讲解。Unity3D之插件插件主要分享在Unity开发中用到的一些插件使用方法插件介绍等Unity3D之日常开发日常记录主要是博主日常开发中用到的用到的方法技巧开发思路代码分享等Unity3D之日常BUG日常记录记录在使用Unity3D编辑器开发项目过程中遇到的BUG和坑让后来人可以有些参考。