随笔分类 - Unity3D
本专栏收录了Unity3D相关技术栈
摘要:
1 需求实现 人机交互Input 中实现了通过键盘控制坦克运动,通过鼠标控制坦克发射炮弹,本文将在此基础上,增加血条(HP)功能。炮弹命中后,HP 值会减少,因此需要应用到 刚体组件Rigidbody 和 碰撞体组件Collider;从不同角度攻击敌人时,敌人的血条始终朝向相机,因此需要用到 相
阅读全文

摘要:
1 简述 UGUI 回调函数主要指鼠标进入、离开、点下、点击中、抬起、开始拖拽、拖拽中、拖拽结束 UI 控件触发的回调。使用 UGUI 回调函数时,需要引入 UnityEngine.EventSystems 命名空间。 1) 回调函数 | 回调函数 | 接口 | 说明 | | | | | |
阅读全文

摘要:
1 需求实现 1)需求实现 鼠标拖拽摇杆球控制坦克移动; 上下左右按键也可以控制坦克移动,并且摇杆球也同步移动; 鼠标右键滑动,控制坦克转向; 相机在玩家后上方的位置,始终跟随玩家,朝玩家正前方看; 单击鼠标左键或按空格键控制坦克发射炮弹。 2)涉及技术栈 Transform组件 人机交互I
阅读全文

摘要:
1 概述 布局组件主要有:水平布局(HorizontalLayoutGroup)、垂直布局(VerticalLayoutGroup)、网格布局(GridLayoutGroup),用于约束子控件的布局方式,这些布局都有以下共同属性: Padding:边距,父控件向内收缩的空间,子控件只能在此收缩空
阅读全文

摘要:
1 InputField 属性面板 在 Hierarchy 窗口右键,选择 UI 列表里的 InputField(输入框)控件,即可创建 InputField 控件,选中创建的 InputField 控件,按键盘【T】键,可以调整 InputField 控件的大小和位置。 创建 InputF
阅读全文

摘要:
1 Slider属性面板 在 Hierarchy 窗口右键,选择 UI 列表里的 Slider 控件,即可创建 Slider 控件,选中创建的 Slider 控件,按键盘【T】键,可以调整 Slider 控件的大小和位置。 创建 Slider 控件时,系统会自动为其创建 3 个 Image
阅读全文

摘要:
1 Toggle属性面板 在 Hierarchy 窗口右键,选择 UI 列表里的 Toggle 控件,即可创建 Toggle 控件,选中创建的 Toggle 控件,按键盘【T】键,可以调整 Toggle 控件的大小和位置。 创建 Toggle 控件时,系统会自动为其创建 2 个 Image
阅读全文

摘要:
1 Dropdown属性面板 在 Hierarchy 窗口右键,选择 UI 列表里的 Dwondown (下拉列表)控件,即可创建 Dwondown 控件,选中创建的 Dwondown 控件,按键盘【T】键,可以调整 Dwondown 控件的大小和位置。 创建 Dwondown 控件时,系统
阅读全文

摘要:
1 纹理(Texture) Image 控件和 RawImage 控件都是承载渲染图片的控件,都需要指定一个纹理(Texture)图片。在 Assets 窗口选中一张图片,在 Inspector 窗口的参数设置面板可以查看和编辑图片属性。图片属性中最重要的是图片类型(Texture Type),
阅读全文

摘要:
1 Button属性面板 在 Hierarchy 窗口右键,选择 UI 列表里的 Button 控件,即可创建 Button 控件,选中创建的 Button 控件,按键盘【T】键,可以调整 Button 控件的大小和位置。创建 Button 控件时,系统会自动给其创建一个 Text 子控件,用于
阅读全文

摘要:
1 Text 简介 UGUI概述 中介绍了Canvas 渲染模式、RectTransform 组件、锚点(Anchor)等,本文将介绍 UGUI 中的 Text 控件。 在 Hierarchy 窗口右键,选择 UI 列表里的 Text 控件,即可创建 Text 控件,选中创建的 Text 控
阅读全文

摘要:
1 UGUI 与 GUI 区别 GUI控件 在编译时不能可视化,并且界面不太美观,在实际应用中使用的较少。UGUI 在编译时可视化,界面美观,实际应用较广泛。 2 Canvas 渲染模式(Render Mode) Screen Space - Overlay:画布自动适应屏幕尺寸,不能调整 Re
阅读全文

摘要:
1 前言 相机跟随是相机指始终跟随特定游戏对象,有以下 2 种跟随效果: 位置跟随:相机指向目标游戏对象的向量始终不变 位置和姿态跟随:相机在目标游戏对象的坐标系下的坐标和朝向始终不变 实现相机位置和姿态跟随最简单的方法是:将相机游戏对象拖拽到目标游戏对象下,即相机作为目标游戏对象的子对象,
阅读全文

摘要:1 前言 Unity 3D 提供了 GUI、NGUI、UGUI 等图形系统,以增强玩家与游戏的交互性。GUI 在编译时不能可视化,在运行时才能可视化。GUI 代码需要在 OnGUI 函数中调用才能绘制,布局分为手动布局(GUI)和自动布局(GUILayout)。 手动布局:需要传人Rect 参数
阅读全文
摘要:
1 前言 碰撞体组件Collider 中介绍了 2 个碰撞体之间的碰撞检测,本文将介绍物理射线与碰撞体之间的碰撞检测。物理射线由 Ray 定义,通过 Physics.Raycast / Physics.RaycastAll 发射射线,返回 RaycastHit 碰撞检测信息。 射线仅用于检测
阅读全文

摘要:
1 前言 Unity3D 中碰撞体(Collider)组件用于检测运动的物体之间是否发生碰撞,也可以作为触发器使用。产生碰撞的条件是: 2 个游戏对象都有 Collider 至少有一个游戏对象有 Rigidbody 2 个游戏对象保持相对运动(一个 Cube 放在 Plane 上,不会产生碰撞,
阅读全文

摘要:
1 前言 刚体(Rigidbody)是运动学(Kinematic)中的一个概念,指在运动中和受力作用后,形状和大小不变,而且内部各点的相对位置不变的物体。在 Unity3D 中,刚体组件赋予了游戏对象一些运动学上的属性,主要包括 Mass(质量)、Drag(阻力)、Angular Drag(角阻
阅读全文

摘要:
1 前言 每个游戏对象有且仅有一个 Transform 组件,Transform 组件保存了游戏对象的位置信息,用户可以通过操作 Transform 组件实现对游戏对象的平移、旋转、缩放等变换。每个 Script 组件需要继承 MonoBehaviour,MonoBehaviour 中有 Tra
阅读全文

摘要:
1 前言 Input 是 Unity3D 中用于人机交互的工具类,用户可以调用其 GetKey、GetMousePosition、GetMouseButton、GetAxis、GetButton 等方法获取键盘和鼠标的状态信息,再通过这些状态信息控制游戏对象,从而实现人机交互。 1)键盘输入
阅读全文

摘要:
1 前言 Unity3D 中可以给每个游戏对象添加脚本,这些脚本必须继承 MonoBehaviour,用户可以根据需要重写 MonoBehaviour 的部分生命周期函数,这些生命周期函数由系统自动调用,且调用顺序与书写顺序无关。 MonoBehaviour 的继承关系:MonoBehavi
阅读全文
