Unity学习
文章平均质量分 53
hchsen
学无止境
展开
-
Unity webGL以及HTML与unity通信
1;什么是Unity webGLwebGL 的编译选项允许unity发布像使用了HTML5和webGL渲染API技术来使unity程序可以跑在浏览器中的javascript 程序。想要编译和测试WebGL程序,只需要在Build Playersetting里选择WebGL编译平台即可。 2:unity是怎么样发布为webGl程序的为了运行webgl,需要我们的所有代码都是采用JavaScript编原创 2017-04-28 16:23:37 · 22562 阅读 · 2 评论 -
Unity从UI拖物体到场景中以及鼠标拖动物体
当我们做一些农场游戏或者类似可编辑战场类游戏时经常会遇到从UI上拖动物体在3D场景里生成,要实现这种从UI上拖物体的效果其实挺简单,代码不复杂,主要是想法很重要,一个优秀的程序员不只是技术扎实,更重要的是要多思考,不思考的程序员只是一个码农。原创 2017-07-25 15:10:26 · 14589 阅读 · 7 评论 -
Unity调用Win32的打开和保存文件对话框
在window平台下,有时我们需要打开或则保存一些东西到指定目录下,这时我们不需要再重复造轮子,完全可以调用系统的文件窗口,原创 2017-06-20 16:10:02 · 5768 阅读 · 7 评论 -
Unity发布时设置窗口遇到的坑
1:发布客户端时经常不能全屏,发布设置也不起作用。 解决办法: 如果发布设置不能正常全屏,那么可以通过代码强制全屏,设置全屏的代码经常是在Awake()中执行。代码为: void Awake() { //获取设置当前屏幕分辩率 Resolution[] resolutions = Screen.resolutions; //设置当前分辨原创 2017-06-06 16:23:44 · 9191 阅读 · 1 评论 -
unity打印日志到文件
对于打印日志到文件,我们可以选择使用Log4NET插件,这个插件有很强大的功能,但是经常我们并不需要这么多的功能,有时我们可能只想输出一下异常而已,所以我推荐自己写DLL来实现这个功能。 具体做法如下: 在VS里新建类库项目,粘贴下面的代码:using System.IO;using UnityEngine;namespace Unity{ public class Logout原创 2017-04-28 16:37:58 · 7587 阅读 · 0 评论 -
Unity自带NavMesh寻路组件及摄像机跟随主角
在游戏中,角色的自动寻路功能很常见,当我们点击地图中的某个位置时角色自动走到该位置点,并且还自动绕过障碍物,这个功能看起来很高大上,但是通过Unity自带的寻路组件很容易实现。废话不说,先上效果,觉得效果不是想要的可以不用继续看,毕竟时间是最重要的。 具体实现分为3步: 1:创建游戏物体,本次物体主要有cube表示主角,pointlight照亮鼠标点击的位置表示选取的位置,Terrain原创 2017-03-16 16:56:25 · 2033 阅读 · 0 评论 -
AssetBundle打包和各种加载方式
1:什么是AssetBundle。 AssetBundle是从unity项目中打包出来的资源文件,可用于资源的更新等。AssetBundle支持3中格式的压缩选择,分别是LZMA,LZ4,无压缩。默认是LZMA格式的压缩,但是这样虽然可以使资源文件大小大大缩小,利于下载,但是也有不利的一面,在使用时会先解压再使用,所以会造成加载时间过长。 不压缩格式资源包会比较大,但是加载时不需要解压,所以加载原创 2017-03-31 14:59:11 · 19110 阅读 · 1 评论 -
拖尾特效的制作
在游戏制作中我们经常会有物体拖尾特效的需求,比如子弹拖尾,飞机拖尾,这些拖尾看似很漂亮,但是制作起来很容易。主要技术就是Trail Renderer组件。效果图如下: 主要步骤为: 1:创建一个空物体,给空物体添加Trial Renderer组件。 2:创建一个材质球,给材质球添加你想要的贴图。 3:将材质球赋予这个空物体,则材质球自动变成了Trial Renderer的材质。如图:原创 2017-02-09 15:41:36 · 9224 阅读 · 0 评论 -
unity虚拟摇杆的实现
在游戏中,虚拟摇杆是很常见的,这里我主要是制作第一人称的虚拟摇杆,第三人称的实现原理也是类似的。废话不说,直接说实现方式。 最终效果图如下: 实现方式分为3步: 1:在canvas下创建一个空的子物体,名称为yangan或者你想要的其他名字,这里为yaogan。给子物体添加image组件,添加的方式是Component->UI->Image,给image组件绑定一个图片作为摇杆的背景图片。原创 2016-12-28 09:56:21 · 1994 阅读 · 1 评论 -
unity项目去除unity开始动画和发布设置
Unity 工程发布设置,主要有去除官方开始动画,窗口拖动,分辨率,图标等内容。原创 2016-08-05 16:36:54 · 32146 阅读 · 3 评论 -
unity水下模糊效果
我看到网上大部分帖子都是通过景深(depth of field)实现,但是我自己在用的过程中发现并不好用,虽然能实现水下模糊,但是模糊的太假,不像是在水下,我这里采用的是浅蓝色的雾加blur实现,先上效果图: 水面图 水下图 实现方法如下:原创 2016-10-09 17:25:51 · 8739 阅读 · 0 评论 -
unity避免相机穿墙
当采用第一人称相机时相机穿墙是一件很烦人的事情,避免相机穿墙有几种方法,比较常见的是采用characterController的第一人称角色控制器,但是这个比较麻烦的事情是它有3个子物体,还要有好几个的脚本,有时我们仅仅就是为了使相机具有刚体特性而不需要其他功能,显然使用第一人称角色控制器有点大材小用。所以这里我们可以换以一种方法,例如我们场景里的普通相机,我们如果想避免相机穿墙,可以给相机添加Ch原创 2016-10-09 17:10:02 · 6475 阅读 · 0 评论 -
unity小地图制作和方向导航
一:unity方向导航制作: 设计要求是方向导航随着鼠标旋转转换方向,效果图如下: 具体的实现方法主要有两个步骤,分别为UI设计和脚本编写。我的设计思路是这个控件分为两层,第一层为东西南北指示层,第二层为图标指示层,这里我的图标采用圆形图标,方向指示这里采用控制图标旋转的方式实现,层级关系如下: 首先创建父节点1,然后在父节点下创建子节点2,3;最后调整好位置。 第二步脚原创 2016-08-25 17:24:59 · 6677 阅读 · 1 评论 -
Unity创建按钮点击实现菜单显示和隐藏
在游戏的UI界面制作中我们经常会用到使用菜单来选择或则开关一些东西,具体的样式如图所示: 具体的效果是点击按钮前没有显示图层开关菜单,点击后显示,并可以进行开关操作,下面我就展示如何制作这个UI控件。 这个功能很常见,但是UGUI上并没有这个控件,我们可以通过简单的控件组合来实现这个看似高级的控件。 第一步: 在Hierarchy面板下创建一个button,原创 2016-08-10 15:13:15 · 49483 阅读 · 11 评论 -
Unity 动态改变button图标
我们在做UI时经常会用到通过按钮来控制UI菜单的显示和隐藏,在显示和隐藏Ui的过程中通常又需要改变按钮的图标,如下示例所示: 由图可以看到,当隐藏菜单时按钮图标指向左面,点击后显示菜单并按钮图标指向右边。 这一过程通过代码很容易实现。我们先来关注一下button的inspector面板,面板如下: 通过inspector面板我们可以发现,控制butt原创 2016-08-10 10:33:05 · 21586 阅读 · 2 评论 -
Unity GUI自适应屏幕分辨率的方法
1:GUI自适应屏幕方法. 由于屏幕尺寸的问题,我们设计的UI在不同尺寸屏幕上不能很好的工作,因此我们的工程需要适应不同屏幕的要求,unity新版本中已经可以设置屏幕自适应而不需要我们自己去设置,在设置之前我们先了解一下Canvas的inspector属性都有什么。 A: render Mode 渲染模式选择,这里有三种模式分别为:Screen Space – overlay,Scree原创 2016-08-05 08:51:15 · 21789 阅读 · 1 评论 -
Unity 中的4X4矩阵
1:为什么模型的变换是4X4而不是3X3的矩阵变换? 我们知道,在空间里的点的坐标是vector3类型的,即是三维的,那为什么要用4维矩阵才能进行旋转平移和缩放呢?要解决这个问题就要从变换的本质来谈起。我们知道,在变换里分为线性变换和非线性变换,比如: 我们対模型进行缩放,那么缩放后的点坐标是 Pn=aPo (Po是以前的坐标空间,Pn是新的坐标空间,a是缩放比例) 好的,原创 2017-11-17 14:43:24 · 11716 阅读 · 1 评论