Unity
Xu_lib
Just Coding !
展开
-
Unity基础(01)——常用快捷键及操作
一、常用快捷键:1、CTRL + Z:恢复到初始状态 选中场景中的某一物体,按 “Shif+F” 或者 “双击鼠标左键”,均可使该物体在场景居中显示 X:世界坐标和局部坐标之间切换 Ctrl + P :开启、关闭播放模式 Ctrl + Shift + P :在播放模式中暂停 Ctrl+shift+B:打开Build Settings窗口 Alt+Shift+N :注意区分两种...原创 2019-04-30 15:22:12 · 4801 阅读 · 0 评论 -
Unity基础(11)—— 设置Camera只看到自己需要的物体
在Unity的场景中,设置Camera只看到自己想要看到的物体,常常用于同一个场景中有多个 Camera 的情况如下图中,让Main Camera 只显示场景的背景,让 Camera01显示场景中的人物。1、首先设置不想在主摄像机中显示的人物模型 TheMan 的 Layer,将其添加进一个新的层中。选中TheMan ,在Layer处选择 AddLayer。2、在Add...原创 2019-07-11 17:33:36 · 9834 阅读 · 3 评论 -
Unity基础(10)—— 修改场景的天空盒(Skybox)
将Unity场景的背景由默认的状态修改成蓝天白云的状态。要达到这种目的就需要修改 Skybox 。未修改之前的天空盒如下所示:修改步骤如下:在修改之前先将自己需要的天空材质导入到 Assets 之中。(1)、选择 Window >>> Lighting >>> Settings选项(2)、修改 Skybox Material...原创 2019-07-11 15:32:07 · 17915 阅读 · 4 评论 -
理解Unity3D中的四种坐标体系
一、前言1、Unity3D采用的是左手坐标系。2、Inspector 中物体的 Position 的值是世界坐标系下的值。只有当一个物体具有父物体时,它才会以相对坐标来描述其位置。3、目前来说我们所见过的三维建模软件或者游戏开发软件所用的坐标系分两种:左手坐标系和右手坐标系。区分坐标系可以按上图方法,这里我也有个简单的判断方法:用手握住 z 轴,大拇指朝向 z 轴正方向,然...转载 2019-08-08 09:40:37 · 3180 阅读 · 0 评论 -
Unity基础(12)—— Mecanim动画系统下Animatior 的使用
Animator 动画控制器的简介利用状态机的原理来控制动画的播放。一、为人物模型添加动画1、在打开一个Unity文件后,检视窗口中的Animator 中没有状态机,如下图所示。需要自己添加一个动画控制器。2、在project中创建一个状态机(动画控制器),将其命名为AC1,并将其拖到 Controller 上。3、再打开动画控制器 AC1 ,在Asset 目录中...原创 2019-08-08 17:17:32 · 1852 阅读 · 0 评论 -
Animatior 中添加的动画无法播放
在Unity中有的动画添加到动画控制器中却无法播放。如下面的 fbx 文件中的动画 Punching 添加到动画控制器后无法播放。具体解决方法如下:1、选中该动画,在Inspector 中点击 Edit2、依次点击如下箭头所示的内容,将骨骼类型修改为 Humanoid 即可。...原创 2019-08-08 17:26:38 · 590 阅读 · 0 评论 -
Unity3D 中的计时器
在Unity中很多时候,需要让某一事件在指定的时间间隔执行一次。这个时间间隔可能是固定的,也可能是不固定的。一、在 Update 函数中,利用 Time.time 来制作计时器1、时间间隔固定多久执行一次。interval 为计时器的间隔,为固定不变。using System.Collections;using System.Collections.Generic;using U...原创 2019-08-21 16:46:41 · 1189 阅读 · 0 评论 -
Unity运行中修改物体的颜色
Unity 中当运行到某一场景,或者触发某一事件时需要修改物体的颜色。主要是通过MeshRenderer来进行渲染。1、在Unity中创建一个cube 物体,确保其上有MeshRenderer 组件 2、创建一个新的脚本来控制其颜色的变化,将该脚本挂载在 cube 物体上。通过逐帧的方式来对颜色进行改变,最后一个参数为平滑因子。using System.Collecti...原创 2019-08-22 16:54:56 · 9663 阅读 · 4 评论 -
Unity中在Game窗口画线
在Unity中画线有几种方式:Debug.DrawLine() 函数画线,在Game窗口不开启Gizmos时,只在Scene窗口显示,多用于调试。 通过LineRenderer 来画线,在 Scene 和 Game 窗口中都进行显示。 使用Gizmos.DrawLine来画线,只是在Scene窗口显示一、使用Debug.DrawLine()画线1、在Game窗口...原创 2019-08-22 17:28:00 · 13230 阅读 · 0 评论 -
Unity 将图片转换成 sprite 格式
在 Unity 中经常需要将图片(如 jpg、png 等格式)转换成 sprite 的格式,从而用于贴图等场景中。其转换方法如下:1、将一张 .png 格式的图片导入到 Unity的 Assets 目录下。2、选中该图片,依次点击如下箭头所指内容 3、转换成功之后图片前面将多出一个三角,如下图所示 ...原创 2019-08-29 16:31:43 · 13205 阅读 · 0 评论 -
Unity 中导入字体
1、在Unity的 Project 下新建一个Fonts 文件夹,用来存放字体2、找到C:\Windows\Fonts 目录,选中其中的字体,将其拖放到Unity中新建的 Fonts 目录下即可使用。...原创 2019-08-29 16:56:27 · 16879 阅读 · 0 评论 -
UI 下Botton 点击功能
在 Unity 的 UI 界面中添加图片,并让图片具有点击的功能。一、在Unity 的UI界面添加对应的图片和Button组件1、将Image01、Image02 设置为Image的子物体。同时让Image02 的格式为Filled;Image 和 Image01 为Simple 的格式即可总体显示及对应的图片如下箭头所指。为了方便查看和管理,将 Image 的名称修改为 ...原创 2019-09-03 14:47:01 · 3995 阅读 · 0 评论 -
Unity中添加按钮的方式
方式一:使用GUILayout 自动布局用GUILayout.Button() 来创建按钮,会自动的在屏幕的右上角按列排列按钮。这种方式添加的按钮大小和位置都无法改变,为默认值。private void OnGUI(){ if (GUILayout.Button("左旋")) { cubeTf.Rotate(0, 60, 0); } ...原创 2019-09-09 12:02:43 · 12240 阅读 · 0 评论 -
在模型顶部添加标签说明
一、在Unity中常需要为模型添加文字标签来作为模型的名字1、常常将标签放在模型的顶部2、脚本代码如下:using System.Collections;using System.Collections.Generic;using UnityEngine;public class ShowTheLabel : MonoBehaviour { GameObject o...原创 2019-09-16 17:18:55 · 1332 阅读 · 0 评论 -
Unity解析和读取文本—— txt 文件
方法一:在Unity内部文件中加载(使用相对路径)1、首先在Unity的 Assets 目录下新建一个Resources 文件夹,将需要读取的 txt 文件保存到Resources 文件夹中。(注意:txt 文件必须保存成 UTF—8 的格式;内容间的逗号为英文格式)。 2、创建脚本来对 txt 文本的内容进行读取与解析:using System.Collection...原创 2019-07-12 15:47:52 · 26274 阅读 · 1 评论 -
Unity三维数学 ——— 向量Vector、三角函数
一、Unity 中的向量1、向量的长度public class sc03 : MonoBehaviour { // Update is called once per frame void Update () { Demo1(); } void Demo1() { // 获取当前物体的空间坐标 Vector3 po...原创 2019-06-18 10:19:51 · 2004 阅读 · 0 评论 -
KinectForUnity—— KinectManager源码分析
一、将Kinect和Unity3D联系起来的插件中最核心的就是KinectManager 脚本。要想在Unity3d 中使用 Kinect ,就需要将KinectManager脚本拖放到场景中的某一个物体上。一般是在该场景中新建一个空物体,将其命名为KinectController ,然后将一些控制的核心脚本都拖到该物体上,如将 KinectManager 脚本拖放到 KinectContro...原创 2019-05-16 17:32:39 · 4485 阅读 · 1 评论 -
KinectForUnity—— KinectInterop.cs 脚本
一、变量枚举出25个关节点及其对应的索引序号(81):public enum JointType : int Kinect追踪的状态值(140):public enum TrackingState Kinect追踪手势状态(147):public enum HandState 用来存放传感器的color、depth、ir、 body frames等信息的容器(295):public c...原创 2019-05-16 17:32:31 · 660 阅读 · 0 评论 -
Unity基础(02)——脚本显示与生命周期
一、脚本在 Unity 的 Inspector 面板中显示1、Inspector 窗口中有的脚本前面有勾选框,有的则没有。如下图所示。 当脚本中没有 Start(){} 、Update(){} 、OnGUI(){} 等基本函数时,脚本前面就不显示勾选框。只要脚本中有这两个函数中的任意一个,就会显示勾选框。 2、在C#脚本中以public 声明的变量,都会在 Insp...原创 2019-05-16 17:32:06 · 588 阅读 · 0 评论 -
Unity基础(03)——物体材质、颜色及透明度
一、物体物体本质就是一个容器,用来存放各种组件Mesh Filter ——决定物体的形状 Mesh Renderer —— 为渲染,决定物体是否显示出来 二、材质颜色的修改1、父物体和子物体在Hierarchy面板中,将一个物体拖动到另一个物体中,则子物体将继承父物体的移动、旋转和缩放,但子物体不影响父物体。一般新建一个空物体,将其作为父物体。然后将其重置,使其坐标...原创 2019-05-17 08:44:21 · 11958 阅读 · 0 评论 -
Unity基础(04)——Game窗口的坐标
一、Game窗口左下角坐标为(0,0),右下角坐标为(1,0)上图箭头所指的 X,Y 值,为下图箭头所指矩形顶点处的坐标原创 2019-05-22 16:47:54 · 1290 阅读 · 0 评论 -
C#脚本(01)——基本特性
一、Unity的脚本简介1、Unity的C#脚本质上就是一个类,将其挂载到一个物体上,相当于在用该类来创建了一个对象,然后用对象来执行指定的动作。如果不挂在物体上就无法创建实例。2、不能再脚本中写构造函数3、脚本示例:文件名与类名必须一致,如下的脚本文件名为 test01,所以类名也是 test01 挂载到物体上的脚本类必须从MonoBehaviour 类继承,因为它需要用到U...原创 2019-05-23 10:59:35 · 458 阅读 · 0 评论 -
Unity基础(06)—— 动画(Animation)的录制与播放
一、录制动画:将物体移动,操作的过程录制下来保存到一个物理文件,在下次使用的时候直接用代码来调用它即可。如让物体TheCh1 绕Y轴转动90度的动画录制1、在Unity中打开动画视图2、选择指定物体,为其添加 Animation 组件3、选择要录制的物体,点击 Create 按钮。(注意录制的文件必须要放在 Project 的 Assets 目录下)4、...原创 2019-05-27 16:27:39 · 19491 阅读 · 1 评论 -
修改Unity的C#脚本模板
1、右键Unity,选择属性2、3、4、5、6、选择81-C# Script-NewBehaviourScript.cs.txt 文件,用VS打开后,按照自己的要求来进行编辑,保存即可。...原创 2019-05-23 10:21:53 · 883 阅读 · 0 评论 -
C#脚本(02)—— 代码调试
一、对于程序逻辑比较简单时主要时在Unity控制台进行调试1、Unity控制台上代码调试可以在Unity的C#脚本中通过:Debug.Log() 或 Print() 来输出显示在Unity的console中,进行调试错误。注意:Print() 函数 只能在C#脚本继承了MonoBehaviour类之后才可以使用,因为Print()是MonoBehaviour类中的成员。而Debug.L...原创 2019-05-23 16:22:56 · 1332 阅读 · 1 评论 -
Unity基础(05)——常用API
Unity的几个常用的基本的类,即API预制件的使用会提高开发的效率,如下箭头1所指即为预制件,箭头2 为该预制件的实例一、Component1、Component 类继承自上面的父类,则父类中的方法在Component类,及继承自Component类的子子类中仍然可以使用。public class ComponentDemo : MonoBehaviour { ...原创 2019-05-23 16:46:20 · 987 阅读 · 0 评论 -
Unity基础(07)—— 鼠标、键盘输入
一、Unity 通过键盘进行输入字符Input 类,包装了输入功能,一般在 Update 中来检测用户的输入。1、获取鼠标的输入, // 0 对应左键,1 对应右键,2 对应中键。 bool result00 = Input.GetMouseButton(0); bool result01 = Input.GetMouseButtonDown(1); ...原创 2019-06-06 17:04:20 · 1617 阅读 · 0 评论 -
Unity中导入外部模型与预制件
前言:在Unity3D的 Asset Store 中下载的包(package)资源,其默认位置是:C:\Users\用户名\AppData\Roaming\Unity\Asset Store-5.x一、将外部模型导入到Unity中直接将对应的文件拖拽到 Project 中即可,再将需要的文件从 Project 中直接拖拽到 Hierarchy 面板即可显示。也可以直接从对应...原创 2019-06-10 16:22:15 · 6453 阅读 · 0 评论 -
Unity同一场景中不同组件间的调用
一、同一物体(GameObject)的组件之间进行相互调用由于是同一物体上的组件,所以不需要用GameObject.Find() 来寻找物体,直接可以获取需要的组件来调用。如物体B06_Ch_04_Avatar 上的组件脚本 scriptB 调用组件 Transform 的变量:public class scriptB : MonoBehaviour { public ...原创 2019-06-11 13:47:28 · 2536 阅读 · 0 评论 -
Unity基础(08)—— GUI
一、Unity的GUI用法【注】使用 UI 必须要在程序开头引用using UnityEngine.UI; 命名空间。(一)UI 基本简介1、操作 UI 时最好将界面选中箭头所指的这两项,来方便操作。此时:鼠标左键移动UI内元素,鼠标右键移动场景。同一画布下,下面的控件会覆盖上面的。2、画布的渲染模式Screen Space - Overlay :为2D模式,在此模式...原创 2019-06-14 15:55:56 · 2051 阅读 · 0 评论 -
Unity三维数学 —— 欧拉角与四元数
一、欧拉角1、欧拉角 X、Z 沿自身坐标系旋转,Y沿世界坐标系旋转2、API:Vector3 eulerAng = gameObject.transform.eulerAngles;// 欧拉角没有方向大小等概念,其中的x,y,z 只表示沿各个轴上的旋转角度Vector3 euler = gameObject.transform.eulerAngles;// 表示将当前的欧拉角...原创 2019-09-20 09:13:07 · 1048 阅读 · 0 评论