随笔分类 - Unity3D

摘要:1. 三种方式 (1) 通过 Resources 模块, 调用它的 load 函数 : 可以直接 load 并返回某个类型的 Object, 前提是要把这个资源放在 Resources 命名的文件夹下, Unity 不管有没有场景引用, 都会将其全部打包至安装包中. (2) 通过 bundle 的形 阅读全文
posted @ 2017-03-21 12:56 Hu&Fei 阅读 (543) | 评论 (0) 编辑
摘要:写在前面 本次 Space Shooter 实践通过实现以下功能达到加深对 U3D 游戏开发的认知. 键盘控制飞船移动; 发射子弹设计目标; 随机生成大量障碍物; 计分; 实现游戏对象的生命周期管理; 同时进一步练习场景元素的编辑, 脚本文件的创建和 GUI 的处理, 以及音频文件的添加等方法. 最 阅读全文
posted @ 2017-03-17 16:36 Hu&Fei 阅读 (2595) | 评论 (0) 编辑
摘要:1. 什么是导航网格 NavMesh(导航网格)是 3D 游戏世界中用于实现动态物体自动寻路的一种技术, 将游戏中复杂的结构组织关系简化为带有一定信息的网格, 在这些网格的基础上通过一系列的计算来实现自动寻路. 导航时, 只需要给导航物体挂载导航组件, 导航物体便会自行根据目标点来寻找最直接的路线, 阅读全文
posted @ 2017-03-15 21:37 Hu&Fei 阅读 (2137) | 评论 (0) 编辑
摘要:1. 什么是预制体 在进行一些功能开发的时候, 我们常常将一些能够复用的对象制作成 的预制体,然后将预制体存放到 Resources 目录之下, 使用时再动态加载到场景中并进行实例化. 例如 : 子弹、特效甚至音频等, 都能制作成预制体. 预制体英文名称即 Prefab 是一种资源类型 —— 存储在 阅读全文
posted @ 2017-03-15 16:43 Hu&Fei 阅读 (4487) | 评论 (1) 编辑
摘要:1. 阴影技术 阴影技术乃是游戏赤裸建模的最佳点缀手法, 可说是一步到位改进真实环境的最佳手段之一. 因为世界是充满阳光和灯光的(否则人眼是不能看到完全黑暗的东西的). 有光的地方就意味着有阴影的覆盖和光线的折射, 阴影技术在游戏之中的地位也就得到了认可. 在真实的光线投射物体产生的阴影之中, 是绝 阅读全文
posted @ 2017-03-14 23:50 Hu&Fei 阅读 (1661) | 评论 (0) 编辑
摘要:1. 什么是烘焙 光照烘焙是计算机图形学领域的一种技术, 用于为计算量巨大的虚拟光照操作生成纹理, 称为光照贴图。光照贴图信息被烘焙到这些纹理中, 用来展现就像受实时灯光影响的虚拟场景, 而开销只是使用实时灯光的一小部分. 通常结合烘焙光及实时光使用以创建更真实的虚拟环境. 2. 烘焙的作用 如此理 阅读全文
posted @ 2017-03-14 23:49 Hu&Fei 阅读 (2096) | 评论 (0) 编辑
摘要:1. 碰撞体与刚体 要产生碰撞必须为游戏对象添加 Rigidbody 刚体和 Collider 碰撞体, 刚体可以让物体在物理影响下运动. 而碰撞器是物理组件的一类, 碰撞器要与刚体一起添加到游戏对象上才能触发碰撞. 如果两个刚体互相撞在一起, 除非两个对象有碰撞体时物理引擎才会计算碰撞, 在物理模 阅读全文
posted @ 2017-03-13 22:41 Hu&Fei 阅读 (858) | 评论 (0) 编辑
摘要:学习自 CSDN 学院公开课视频 VR 硬件飞速发展, 但内容却极为稀缺,作为开发者,我们究竟该如何上手 VR 开发?具体到在不同的平台上怎么做?如何做工具选型?延迟、晕眩、全景、人机交互、3D 动画、性能优化... 无一不是痛点. 又该如何将 VR 技术更好地运用到游戏、应用开发以及内容创作中,了 阅读全文
posted @ 2017-03-13 00:27 Hu&Fei 阅读 (1673) | 评论 (0) 编辑
摘要:漫反射光照符合兰伯特定律 : 反射光线的强度 与 表面法线 和 光源方向 之间的夹角的余弦值成正比 . 计算机图形第一定律 : 如果它看起来是对的 , 那么它就是对的 . 逐顶点光照的计算量往往要小于逐像素光照 . 逐顶点光照依赖于线性插值来得到像素光照 , 当光照模型中有非线性的计算的时候 , 逐 阅读全文
posted @ 2017-03-10 18:34 Hu&Fei 阅读 (2759) | 评论 (0) 编辑
摘要:效果图 : Shader006.shader ScriptShader006.cs End. "→ 源码 GitHub" 阅读全文
posted @ 2017-03-10 18:33 Hu&Fei 阅读 (2475) | 评论 (1) 编辑
摘要:1. 理论知识 朱利亚集合是一个在复平面上形成分形的点的集合。以法国数学家加斯顿·朱利亚(Gaston Julia)的名字命名。朱利亚集合可以由下式进行反复迭代得到: 对于固定的复数 c,取某一 z 值(如 z = z0 ),可以得到序列 这一序列可能反散于无穷大或始终处于某一范围之内并收敛于某一值 阅读全文
posted @ 2017-03-10 18:32 Hu&Fei 阅读 (873) | 评论 (0) 编辑
摘要:实现 : 支持在 Plane 上用鼠标点击,确定多边形顶点,并且绘制多边形的边,在内部填充颜色 ; Plane 带有碰撞体 , 使用鼠标选取位置的时候涉及到碰撞检测 . ScriptShader005.cs 脚本实现鼠标点击和向 Shader 传递信息的功能 . Shader005.shader 实 阅读全文
posted @ 2017-03-10 18:32 Hu&Fei 阅读 (603) | 评论 (0) 编辑
摘要:利用 Plane 映射到屏幕上的像素坐标作为绘制图形的输入参数。 Shader003 代码: c Shader "Custom/Shader003" { Properties { // 在 Properties 中添加要绘制的点位置信息 _Point1("Point1",vector) = (100 阅读全文
posted @ 2017-03-10 18:30 Hu&Fei 阅读 (3276) | 评论 (0) 编辑
摘要:1. vert , 顶点着色器代码, 逐顶点执行, 函数的输入 v 包含了这个顶点的位置, 返回值是该顶点在裁剪空间中的位置, POSITION : 把模型的顶点坐标填充到输入参数中, SV_POSITION : 顶点着色器的输出是裁剪空间中的顶点坐标 2. frag , SV_Target : 把 阅读全文
posted @ 2017-03-10 18:28 Hu&Fei 阅读 (1783) | 评论 (0) 编辑
摘要:Unity Shader 代码: vert() 这段顶点控制代码会在表面着色函数 surf() 之前被执行,即我们的控制是在模型空间内进行的。之后输出的顶点信息会被作为标准的表面着色器的输入数据。 在场景中生成一个 Cube,然后生成一个新的 Material,将该 Material 的 Shade 阅读全文
posted @ 2017-03-10 17:51 Hu&Fei 阅读 (395) | 评论 (0) 编辑
摘要:左右移动盘子的脚本 脚本效果 : 控制乒乓球弹跳逻辑的脚本 csharp using System.Collections; using System.Collections.Generic; using UnityEngine; public class BallController : Mono 阅读全文
posted @ 2017-03-10 17:14 Hu&Fei 阅读 (1042) | 评论 (0) 编辑
摘要:有一个对 Mecanim 进行介绍的 很好 的一个视频 → ,在看完这个视频根据 Unity 圣典进行了下文整理时, 让我理解更加深刻,以后实践时会更加得心应手。 Unity 有一个丰富并且精密的动画系统叫做 Mecanim。 1. 相关术语整理 Animation Clip 相关 Animatio 阅读全文
posted @ 2017-03-09 21:23 Hu&Fei 阅读 (4250) | 评论 (0) 编辑
摘要:下面是 Unity 常用类间的关系图 Unity 任何要绑定在 GameObject 上的脚本都必须继承自 MonoBehaviour. 许多常用的类都属于组件, 如 Transform,Camera,Light 和 Animation 等. 所有的 GameObject 上都绑定了一个 Trans 阅读全文
posted @ 2017-03-09 21:06 Hu&Fei 阅读 (529) | 评论 (0) 编辑
摘要:1. 什么是协程 A coroutine is a function that is executed partially and, presuming suitable conditions are met, will be resumed at some point in the future 阅读全文
posted @ 2017-03-09 16:29 Hu&Fei 阅读 (1516) | 评论 (0) 编辑
摘要:0. 写在前面 Unity 提供了大量的资源创建工具, 特别是动画工具(即,本地动画特征集), 其中包括了 : 刚体动画的 Unity 编辑器, Shuriken 粒子系统. 本文整理总结了 Unity 本地 Animation 窗口及动画粒子系统的使用之理论知识. Animation Editor 阅读全文
posted @ 2017-03-05 21:49 Hu&Fei 阅读 (217) | 评论 (0) 编辑
摘要:0. 写在前面 Unity 用于创建动画精灵对象的扩展 2D 特征集. 精灵对象可以从独立文件中采用逐帧方式导入, 或者作为包含多帧的纹理图集. 帧可以方便地组装为一个动画序列. Unity 的动画工具(例如 Mecanim 和 Animation 窗口) 可用于处理大多数常见问题 : 动画速度,循 阅读全文
posted @ 2017-03-05 14:53 Hu&Fei 阅读 (360) | 评论 (0) 编辑
摘要:0. 写在前面 动画在游戏开发中很重要, 缺乏动画的支持, 则难以建立完整的游戏和真正意义上的交互式体验. 如果游戏中的元素处于静止状态, 将缺乏生命力. 从最基本的层面上看, 动画表示为两个特定且独立的特征之间的关系, 即变化和时间. 从技术讲, 动画定义了一段时间内的变化, 通过动画以及一段时间 阅读全文
posted @ 2017-03-04 21:48 Hu&Fei 阅读 (864) | 评论 (0) 编辑
摘要:1. 为什么避免使用多线程 在知乎上看到过这段话 但是 Unity 为什么一般避免使用多线程, 实际上大多数游戏引擎也都是单线程的, 因为大多数游戏引擎是主循环结构, 逻辑更新和画面更新的时间点要求有确定性, 如果在逻辑更新和画面更新中引入多线程, 就需要做同步而这加大了游戏的开发难度, 尤其是对编 阅读全文
posted @ 2017-02-10 17:38 Hu&Fei 阅读 (5190) | 评论 (0) 编辑
摘要:Unity 官方的手册上有一张说明图 , 网址是 → "点这里" , 图片如下 : Reset is called in the Editor when the script is attached or reset. → Reset 是在用户点击检视面板的 Reset 按钮或者首次添加该组件时被调 阅读全文
posted @ 2017-02-10 13:54 Hu&Fei 阅读 (527) | 评论 (1) 编辑
摘要:UGUI 可视化创建以及关联事件很方便, 动态创建可以利用创建好的 Prefab 进行实例化, 只是在关联事件上有些复杂, 本文总结了几种给按钮绑定事件的关联方式. 1. 可视化创建及事件绑定 Step 1 : 通过 Hierarchy 面板创建 . Step 2 : 创建一个脚本 TestClic 阅读全文
posted @ 2017-02-06 14:16 Hu&Fei 阅读 (77578) | 评论 (0) 编辑