Rigidbody(刚体组件)
Rigidbody简介Unity 3D 中的 Rigidbody 可以为游戏对象赋予物理特性,使游戏对象在物理系统的控制下接受推力与扭力,从而实现现实世界中的物理学现象。 我们通常把在外力作用下,物体的形状和大小(尺寸)保持不变,而且内部各部分相对位置保持恒定(没有形变)的理想物理模型称为刚体。 刚体(Rigidbody)是物理引擎中最基本的组件。通过该组件可以给物体添加一些常见的物理属性,如质量、摩擦力、碰撞参数等。 Unity 3D 提供了多个实现接口,开发者可以通过更改这些参数来控制物体的各种物理状态。 刚体在各种物理状态影响下运动,刚体的属性包含: Mass(质量) Drag(阻力) Angular Drag(角阻力) Use Gravity(是否使用重力) Is Kinematic(是否受物理影响) Collision Detection(碰撞检测) 刚体添加方法在 Unity 3D 中创建并选择一个游戏对象,执行菜单栏中的 Component → Physics → Rigidbody 命令为游戏对象添加刚体组件。 刚体选项参数游戏对象一旦被赋予刚体属性后,其 I...
FairyGUI
FairyGUI简介 FairyGUI是一款UI制作的编辑器,它是一个跨平台的UI编辑器,支持多个开发平台。开发难度: 在线网站 官网:https://www.fairygui.com/ 在线手册:https://www.fairygui.com/docs/editor Github开源项目:https://github.com/fairygui UGUI、NGUI 和 FairyGUI 对比UGUIUGUI有锚点系统,不可否认,锚点非常优秀,也能实现各种布局,但是有一个问题是锚点只能相对父物体,这也就意味着要实现某种布局时,可能要加入很多空的UI元素来形成一层一层的父物体以使锚点发挥作用。这对UI制作来说很不友好,不仅要考虑相互关系,还要考虑怎么排布父子关系。 FairyGUIFairyGUI提供了一个关联系统,可以关联任意两个元素,使一个元素的位置相对另一个元素去定义,不用考虑层级关系,这一点我认为是非常好的。从UI组件来说,FairyGUI提供的组件要丰富得多,常见的功能都可以在FairyGUI中用鼠标点点点来完成,UGUI组件比较基础,一个可切换的Button就得写代...
PlayMaker
PlayMaker简介 PlayMaker是由第三方软件开发商Hutong Games开发完成。它的Logo是一个中文的“玩”字(PS:看来中国文化声名远播)。 它既是一个可视化脚本工具,又是一个分层逻辑框架。 设计师、程序员使用PlayMaker能够很快的完成游戏原型动作,既适合独立开发者,又特别适合团队合作。 在线网站 Unity Asset Store 商店资源 https://assetstore.unity.com/packages/tools/visual-scripting/playmaker-368 PlayMaker优点 1.很多动作行为(例如:跑,跳,攻击等)只需要通过简单状态机FSM(Finite state machine)就能实现,根本不用写一句代码; 2.方便简洁的图表管理每个状态机; 3.播放游戏,可以实时错误检查; 4.集成的帮助,可以让我们快速查看行为说明; 5.设置断点和单步执行状态 6.可以编写自定义行为,让在出现在我们的行为列表(这就要求有点语言基础了) 7.支持各类插件配合使用,加速开发进程(例如Ngui, 2D Toolkit, A...
DoTween
DOTween简介 DOTween是一个免费的Unity3D动画插件,少量编码即可以实现常见的动画效果 DOTween和iTween iTween的性能没有DOTween好,因为iTween每个动画使用一个Update维护 安装 Window->AssetStore下载 导入Package 菜单栏->Tools->DOTween Utility Panel->Setup按钮 更新 删除Resources/DOTweenSettings文件 删除老的DOTween安装目录Demigiant 重新导入Package,再走安装流程 在线手册 http://dotween.demigiant.com/documentation.php https://shenjun4unity.github.io/unityhtml/%E7%AC%AC9%E7%AB%A0%20DOTween/9.2%20%E6%96%87%E6%A1%A3.html 命名空间1using DG.Tweening 常用方法123456DoFade()//淡入或淡出DoLocal...
Unity脚本的生命周期
生命周期中常用方法 特性序列化字段:在编辑器中显示私有变量12[SerializeField] private int a = 1; 在编译器中隐藏字段12[HideInInspector] public int b = 2; 只能在范围内设置值12[Range(0,15)] public int c = 3; 一、初始化相关的方法Awake()1private void Awake() {......} 脚本被加载到场景中时自动调用 是整个生命周期中最先执行的方法 当脚本实例被加载时会自动调用这个方法 整个生命周期中只执行一次 该方法主要用于在游戏开始之前初始化对象或游戏状态,如:使用 GameObject.FindWithTag()查询游戏对象。 OnEnable()1private void OnEnable() {......} 当对象变为可用或激活状态时调用,判断对象或脚本是否可用 执行完Awake()方法后,如果当前脚本可用或可激活,按正常执行顺序则会执行OnEnable()方...
Unity查找物体的6种方法详解
前言 无论是哪种方法,为了性能的考虑,请不要将获取物体的代码写在Update里 请注意GameObject和gameObject的区别 请注意Transform和transform的区别 查找物体方法(速查表) GameObject(Unity的所有物体的基类,针对全局,方法是静态方法,所以可以直接用)注意:非gameObject,注意大小写,gameObject指的是该物体,gameObject无这些方法 transform(是本物体的transform的组件,所以查找都是针对本物体的)注意:非Transform,注意大小写,Transform指的是Transform类型,Transform无这些方法 P.S. transform效率比GameObject高,强烈建议使用transform 查找物体的6种方法 方法 优点 缺点 GameObject.Find(物体名字) 递归遍历全局物体,直到找到第一个为Capsule的物体 全局搜索 1. 无法查找隐藏对象2.效率低下(相当于递归遍历查找) GameObject.Find(“GameObjec...
Gameobject,gameObject,Transform,transform的区别和关联
Gameobject和gameobject Gameobject是一个类型,所有的游戏物件都是这个类型的对象。 gameobject是一个对象, 就跟java里面的this一样, 指的是这个脚本所附着的游戏物件 12345678public class ShowSliderValue : MonoBehaviour { private GameObject obje; //定义GameObject类型的指针 void Start(){ Text lal =gameObject.GetComponent<Text> (); //通过gameObject获取到Text组件. Debug.Log ("Text" + lal.text); //打印获取到组件的中的text的属性 } } Text lal =gameObject.GetComponent<Text> () 中不使用gameObject , 直接通过GetCompone...
Unity常用的基础 API
Unity常用的基础 API 在线手册 Unity 脚本API 2020.02 unity5圣典中文API手册.chm 组件 坐标系 鼠标事件 Time类 Vector3 Transform Gameobject lnput类 TransformTransform组件的成员变量 组件名称 组件作用 position 世界坐标中的位置 localPosition 父对象局部坐标系中的位置 enlerAngles 世界坐标系中以欧拉角表示的旋转 localEulerAngles 父对象局部坐标系中的欧拉角 right 对象在世界坐标系中的右方向 up 对象在世界坐标系中的上方向 forward 对象在世界坐标系中的前方向 rotation 世界坐标系中以以元数表示的旋转 localRotation 父对象局部坐标系中以四元数表示的旋转 localScale 父对象局部坐标系中的缩放比例 parent 父对象的Transform组件 Transform组件的成员函数 组件名称 组件作用 Translate 按指定的...
Unity基础界面
Unity 版本号与许可证2017.1.0 、2017.1.1 、 2017.2.0 、2017.3.4 、 5.5.3 p4 小版本号高出现bug可能性更小;一台电脑可以安装多个版本的unity,但是需要安装在不同路径;安装Unity时不能有中文路径;unity项目路径也不要有中文 菜单栏与快捷键 File (文件菜单) File 菜单主要用于打开和保存场景项目,同时也可以创建新场景。 File 菜单功能及快捷键列表: 命令 描述 快捷键 New Scene(新建场景) 创建一个新的场景 Ctrl + N Open Scene(打开场景) 打开一个已经创建的场景 Ctrl + O Save Scene(保存场景) 保存当前场景 Ctrl + S Save Scene As(另存场景) 将当前场景另存为一个新场景 Ctrl + Shift + S New Project(新建项目) 新建一个项目 无 Open Project(打开项目) 打开一个已经创建的项目 无 Save Project(保存项目) 保存当前项目 无 Build Se...
Unity简介
Unity 简介由 Unity Technologies 公司开发的用于轻松创建游戏和三维互动内容的开发工具,是一个国际领先的专业游戏引擎。 Unity 网站资源 (CN) 资源名称 网址 Unity中国官网 https://unity.cn/ Unity开发者社区 https://developer.unity.cn/ Unity Learn Premium https://unity.com/cn/products/unity-learn Unity 网站资源 (World) 资源名称 网址 Unity官网 http://unity3d.com Unity论坛 http://forum.china.unity3d.com/fourm.php Unity博客 http://answers.unity3d.com/index.html Unity官方在线案例 http://unity3d.com/gallery/demos/live-demos Unity官方项目源文件 http://nity3d.com/gallery/demos...
C#笔记(41)Lambda表达式
Lambda表达式简介Lambda表达式是比匿名方法更简洁的一种匿名方法语法。Lambda运算符:所有的Lambda表达式都是用新的Lambda运算符 =>,可以叫它,“转到”或者 “成为”。运算符将表达式分为两部分,左边指定输入参数,右边是lambda的主体。 lambda表达式:1.一个参数:param=>expr2.多个参数:(param-list)=>expr 匿名方法转换为lambda表达式的步骤 删除delegate关键字 在参数列表和匿名方法主体之间放lambda运算符=>.lambda运算符读作goes to 简化lambda表达式 编译器还可以从委托的声明中知道委托参数的类型,因此lambda表达式允许我们省略类型参数。 带有类型的参数列表称为显示类型 省略类型的参数列表称为隐式类型 如果只有一个隐式类型参数,我们可以省略周围的括号 lambda表达式允许表达式的主体是语句块或者表达式。如果语句块包含了一个返回语句,我们可以将语句块替换为return关键字后的表达式(即 去掉关键字return) 实例...
C#笔记(40)if(){}try{}catch{}语句
try…catch 语句用来测试代码中的错误,try 部分包含需要运行的代码,而 catch 部分包含错误发生时运行的代码。 用法12345try { //可能会导致错误的代码} catch (error) { //在错误发生时怎么处理} 实例12345try { window.someNonexistentFunction(); //调用不存在的函数} catch (error) { alert('An error happened!');} finally子句虽然在try-catch语句中是可选的,但finally子句一经使用,其代码无论如何都会执行。换句话说,try语句块中的代码全部正常执行,finally子句会执行;如果因为出错而执行了catch语句块,finally子句照样还会执行。只要代码中包含finally子句,则无论try或catch语句块中包含什么样的代码——甚至return语句,都不会阻止finally子句的执行。来看下面这个函数: 1...
