201911-27 Unity 3D中的阴影设置 在Unity 3D中,经常需要用到光照阴影,即Directional Light的Shadow,Shadow分为Hard Shadow和Soft Shadow。区别是Soft Shadow的阴影边缘比较平滑,接近真实,但是性能消耗大于Hard Shadow。 Lightmapping有3种选择.... Read More >
201911-26 利用Unity协程实现一个简单的怪物寻路与跟随AI 分析 对于游戏中怪物的行为,简单归纳为如下几部分: 1、怪物在预设范围内随机移动。 2、玩家走入怪物视野范围,怪物跟随玩家移动。 3.1、进入攻击范围,怪物攻击玩家。 3.2、玩家脱离怪物视野范围,怪物状态回到1。 如下内容需要每帧检测一次: 玩家是否进入怪物的视野范围 玩家是否进入怪物的攻.... Read More >
201911-26 Unity使用C#解析与更新TXT、Json和XML文件 读取配置文件等对于一个游戏的重要性不需要多说,本文总结了本人最近经常用到的C#解析文本文件的方法。本文作为一个涂鸦,仅仅用于提供几个解决问题的思路,对于代码是否高雅等问题不予考虑。 准备工作 创建一个类,用于保存单个Site信息。 public class Site { public s.... Read More >
201911-26 Unity使用BestHttp插件时Socket.IO保持长连接的问题 问题发现 最近在写一个对战小游戏的Demo,主要玩法是两个人互放地雷击败对手。小游戏的服务端是一个基于Socket.io的转发脚本,而客户端使用的是BestHttp插件提供的Socket.IO连接库。整个游戏的预览图如下所示: 游戏运行后,客户端断线重连较为频繁,已经影响到游戏的正常运行。.... Read More >
201911-26 使用DoTween在Unity中制作队列(Sequence)动画 DoTween是Unity上的一款动画插件,它使用简单,功能强大,利用它可以很方便地制作一些简单动画。而即使是一些较为复杂的队列动画,对它来说也不在话下。 开始使用 首先,访问AssetStore,搜索DoTween,下载该插件的免费版即可。 下载完成后,在Unity菜单栏中点击Tools.... Read More >
201911-26 Unity为UGUI元素添加三种状态音效(以Button为例) 一般情况下,采用指针进行交互的UI有三种交互状态,分别为指针进入(Enter)、指针点击(Click)、指针退出(Exit),UGUI中的按钮就是一个很好的例子。最近有个需求是给按钮添加三种状态的音效,我通过两种方式实现了这个效果:第一种方法是重写Button(按钮)组件,第二种方法是实现E.... Read More >
201911-26 Unity直升机飞行HeliHell源码分析(1)-摄像机缓动跟踪 突然发现百度网盘里有一堆Unity小游戏Demo的源码,为了更好的学习这些内容,我决定以博客文章的形式记录我对这些源码的理解,同时方便一些像我这样的小白学习知识。今后,争取每一到两周就写一篇关于此的文章。 这篇文章从最简单的一个开始,这个源码包叫做HeliHell,unity商店有售,但已经.... Read More >
201911-26 Unity直升机飞行HeliHell源码分析(2)-飞行控制 该文章是《Unity直升机飞行HeliHell源码分析》系列文章的第二篇。 源代码下载及前文请见《Unity直升机飞行HeliHell源码分析(1)-摄像机缓动跟踪》。 铰链关节 飞行效果主要通过铰链关节实现,首先分析本项目中铰链关节的结构: 层级视图中可以找到一个空物体ChopperCo.... Read More >
201911-26 RenderTexture Sprite截图并解决画面太暗的问题 RenderTexture截图 1.原理 通过Texture2D的ReadPixels方法将读取RenderTexture数据,据此创建一个Sprite。 2.代码 //RenderTexture public RenderTexture mainPadTexture; //要填充的Imag.... Read More >
201911-26 SteamVR手柄下的UGUI子物体移动太慢或延迟的问题 使用Unity SteamVR插件时,将一个WordSpace的2D Canvas放置在手柄下,发现UI跟不上手柄的移动速度。 复现 新建一个Canvas,按需调整后放置在手柄对象下,快速移动手柄。 如图所示,UI的移动速度似乎跟不上手柄,出现了模型穿透的情况。 解决方法 1.治标 将2D.... Read More >