
Unity游戏开发
文章平均质量分 80
青鹿大大
对Unity3D游戏开发,虚拟现实和增强现实感兴趣,比较好玩的新东西。
展开
-
Unity链表的应用之蛇形动画
实现的功能:单击创建出一个Cube,跟随前一个运动,位置是前一个Cube的前一秒的位置,类似贪吃蛇。在场景中创建两个Cube,给一个添加紫色的材质球,另一个添加绿色的材质球。给紫色Cube添加一个Cubemove脚本,给绿色Cube添加一个FollowCube脚本。把绿色的Cube拖成预设体,大小改小一点。紫色Cube挂载的脚本代码:using UnityEng原创 2015-06-20 10:09:08 · 1464 阅读 · 0 评论 -
Unity资源处理机制(Assets/WWW/AssetBundle/...)读取和加载资源方式详解
Unity资源机制1、概述 本文意在阐述Unity资源机制相关的信息,以及一些关于个人的理解与试验结果。另外还会提及一些因机制问题可能会出现的异常以及处理建议。大部分机制信息来源于官方文档,另外为自我验证后的结果。 2、资源概述 Unity必须通过导入将所支持的资源序列化,生成AssetComponents后,才能被Unity使用转载 2017-05-23 15:09:41 · 1876 阅读 · 0 评论 -
【Unity】制作手游的帧同步时遇到的问题
网络游戏的同步可以做的很简单,也可以做的很复杂。简单来说就是通过Http或者Socket来跟服务器同步数据。而如果往复杂了说,可以有p2p、帧同步、航位预测等等高级课题可以研究。 因为我们的项目需求----几百个独立单位的实时同步(带pvp的rts),所以研究了下帧同步。不过后来发现它其实有很多问题,所以具体如何还要看其他同事的研究成果。以我个人来说,修改游戏方案反而是最合理转载 2017-05-23 16:53:01 · 986 阅读 · 0 评论 -
帧同步--竞技类网络游戏设计方案
一、 前言 帧同步,根据wiki百科的定义是,一种对同步源进行像素级同步显示的处理技术,对于网络上的多个接入者,一个信号将会通过主机同步发送给其他人,并同步显示在各个终端上。同步信号可以是每帧的像素数据,也可以是影响数据变化的关键事件信息。帧同步在网络游戏中的应用,设计上有异于传统的mmorpg游戏,因为可以承载更大量的后台计算,实现类单机的效果,所以可应用在类似射击转载 2017-05-23 18:41:26 · 3299 阅读 · 0 评论 -
UnityAI行为-----群组行为之群集动画
一、群集动画的简介群落运动是自然界中非常有趣的现象。在天空中,我们可以看见大群的候鸟南飞,在陆地上,我们可以看见羚羊群,牛群在飞快的奔跑,在海洋里,鱼群的运动更是壮观。群落和其他相关的群体,他们运动的时候都是非常的壮观,他们的气势常常让我们惊叹不已。在群落中,每一个个体都是非常的独立,然而整个群落又犹如一个整体。群体中的个体似乎是随机的,但确有一定的运动规律。最令我们感到震惊的是群落中似乎有一原创 2017-05-26 16:41:52 · 9697 阅读 · 1 评论 -
UnityAI行为------群组行为
群组行为是指多个对象组队同时行进的情况,我们可以坐下来,告诉每一个对象它该如何移动,但这样做的工作量太大。取而代之的是,我们去创建一个群组的领导,让它来为我们做这些, 这样我们所要做的就只是设置一些规则,然后群组中的boid就会自行组队。在本章中,我们将学习如何在unity3d中实现这种群组行为。每个boid都可以应用一下三个基本的规则:分离(seperation):群组中的每个个体都原创 2017-05-26 16:48:52 · 7441 阅读 · 2 评论 -
UnityAI行为------群组行为CraigReynold算法
结合上一篇文章讲述群组行为的算法,这篇是替换实现,更加清晰。FlockController的行为很简单,它在运行时生成boid的行为,更新群组的中心及群组的平均速度public class FlockController : MonoBehaviour { public float minVelocity = 1; public float maxVeclocity原创 2017-05-26 16:55:16 · 2994 阅读 · 1 评论 -
Unity3DAI行为------路径跟随
正如你所见,这是一个非常简单的脚本,它有一个Length属性,如果发起请求,就可以返回航点数组的长度和大小。GetPoint方法返回数组中指定下标位置的特定航点的位置。 然后,Unity调用OnDrawGizmos方法,以在编辑器环境中绘制出组件,在游戏视图中,如果不打开gizmos,那么这些绘图是不会渲染的。public class Path : MonoBehaviour {原创 2017-05-27 11:29:19 · 3310 阅读 · 0 评论 -
Unity3DAI行为------避开障碍物简单实现
public float speed = 20.0f; public float mass = 5.0f; public float force = 50.0f; public float minimumDistToAvoid = 20.0f; private float curSpeed; private Vector3 targetPoint;原创 2017-05-27 14:41:23 · 7486 阅读 · 1 评论 -
Unity对象池管理
Unity编程标准导引-3.4 Unity中的对象池 本节通过一个简单的射击子弹的示例来介绍Transform的用法。子弹射击本身很容易制作,只要制作一个子弹Prefab,再做一个发生器,使用发生器控制按频率产生子弹,即克隆子弹Prefab,然后为每个子弹写上运动逻辑就可以了。这本该是很简单的事情。不过问题来了,发射出去后的子弹如何处理?直接Destroy吗?这太浪费了,要知道Unity转载 2018-02-01 16:16:47 · 330 阅读 · 0 评论 -
Unity对象池初探
理论参考:http://www.cnblogs.com/mezero/p/3955130.html代码参考:http://www.omuying.com/article/78.aspx背景:首先为什么会去了解对象池技术,原因是我的游戏在iOS上运行时出现了问题,有时会闪退,于是网上寻找解决方法,大神给出的答案是内存爆了。因为游戏中会频繁而且相对大量的创建( Instan转载 2018-02-01 16:17:56 · 239 阅读 · 0 评论 -
Unity3d中制作Loading场景进度条所遇到的问题
通常游戏的主场景包含的资源较多,这会导致加载场景的时间较长。为了避免这个问题,可以首先加载Loading场景,然后再通过Loading场景来加载主场景。因为Loading场景包含的资源较少,所以加载速度快。在加载主场景的时候一般会在Loading界面中显示一个进度条来告知玩家当前加载的进度。在Unity中可以通过调用Application.LoadLevelAsync函数来异步加载游戏场景,通过查转载 2018-02-05 14:45:37 · 322 阅读 · 0 评论 -
UnityShader学习-- 坐标变换
试想我们的美术做了一个3D模型,然后渲染引擎把模型渲染到屏幕上。我们还可以选定不同的视角,模拟不同的光照条件去观察模型。现在来分析一下这个过程。如果说我们把这个过程看成一个函数,那么函数的输出就是屏幕上的图像。确切地说,是屏幕上的每个像素。这个函数的主要输入是这个3D模型,我们观察的视角,光照情况等等因素。渲染过程就是给出这些因素决定每个像素值的过程。 首先来看模型。模型通常是由可视化的转载 2018-01-30 13:33:01 · 553 阅读 · 0 评论 -
Unity状态机(含多线程处理)
众所周知,Unity在开发游戏的时候经常用到状态机,而通常情况下,我们会使用简单的枚举类型设置状态,然后通过调整枚举,来切换状态,在简单情况下是可以的,就像是Unity中Animator切换动画状态就是,直接通过动画片段的名称切换。而当状态很多的时候,直接切换就显得有些很不安全,而且友好性也不是很好,所以根据Unity中Animator这种通过条件切换状态的架构,我写了一个简单的状态机,给大家分享...转载 2018-03-08 10:38:12 · 1154 阅读 · 0 评论 -
复盘王者荣耀手游开发全过程,Unity引擎使用帧同步放弃状态同步
如今已经大获市场成功的《王者荣耀》一直是业内各方关注的对象,而我们也知道这款产品在成为国民级游戏之前,也遇到过一段鲜有人知的调优期。也就是在2015年8月18号正式不删档测试版本推出之后,被腾讯评级为不达六星之后的时间。据闪电站小猪了解,在8月之后的两个月间,《王者荣耀》技术团队对这个产品进行了非常深度的优化,并攻克了局内同步、网络要求,以及性能表现的三大难关,成功达到了腾讯六星产品的标准。比如延...转载 2018-03-08 20:13:19 · 1708 阅读 · 0 评论 -
【网络游戏同步技术】帧同步的一致性
【参考博文】GAD-网络游戏同步技术引言 帧同步的形式很泛,根据不同游戏,使用的技术范围又不一样,所以大家都在讲方法论,要全面覆盖可能需要较大的篇幅,所以,我简单描述下。 假定大家对帧同步和状态同步有一定的认识,理论上的问题,我就不作过多解释了。 大家都知道,帧同步的核心是一致性,通过一致性的算法,使得各端输入一致的情形下,输出也是一致的,以此,可以解决同步的根本问题——仲裁的结果是一致的。...转载 2018-03-08 21:08:13 · 1437 阅读 · 3 评论 -
设计模式六大原则
单一职责原则(Single Responsibility Principle)定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责转载 2016-12-09 16:47:20 · 454 阅读 · 0 评论 -
动作手游实时PVP帧同步方案(客户端)
动作手游实时PVP帧同步方案(客户端)1、概述1.1、基于UDP的帧同步方案 在技术选型方面,之所以选择帧同步方案,在Kevin的一篇介绍PVP帧同步后台实现的文章中已经做了详细叙述,这里简单摘要如下:高一致性。如果每一帧的输入都同步了,在同样的上下文中,计算得出的结果应该也是同步的。低流量消耗。除了帧同步,其它方案(比如状态同步)想做到高一致性,需要同步非常大量的数据。无论转载 2016-09-28 18:37:02 · 6543 阅读 · 0 评论 -
水下模糊效果
首先要有一个认识,地形上的水面效果或者湖泊河流是导入的水的资源,Assets--Import Package--Water(Basic)或者Water(Pro Only),专业版的比非专业版的水效果更炫,多了一个Water4文件夹就是多了两个水的效果,可以做出大海的效果,直接拖进场景调整参数就可以用了。瀑布效果其实是粒子效果的一种Water,导入Assets--Import Package--转载 2015-06-20 09:30:34 · 949 阅读 · 0 评论 -
MVC模式--背包拖拽(一)
实现功能:4*4的背包格子,有游戏时间和步数显示,游戏开始打乱图片顺序,鼠标拖拽一个图片和另一个图片交换,完成拼图ImageList上挂载的脚本如下:using UnityEn原创 2015-06-18 09:35:11 · 1100 阅读 · 0 评论 -
Unity小地图制作(二)
继续今天的学习心得,unity中小地图的制作,实现了小地图中红色小箭头代表场景中的主角,然后人物方向的转变,小地图中箭头也随之改变方向。右上角就是小地图,上面有个红色小箭头就是代表主角人物所在场景中的位置,箭头的方向就代表人物所面向的方向。步骤:1.俯视图的制作首先,我们将Scene场景调成俯视的角度;然后在创建一个Plane,然后点击该对象,在In原创 2015-06-24 08:22:53 · 831 阅读 · 0 评论 -
Unity学习-NGUI结合Shader小地图的制作(三)
转载自http://blog.youkuaiyun.com/lzhq1982/article/details/12783493在做这个demo的过程中,制作小地图着实刁难了我一把,百度了很多文章,花了好长的时间,需要的知识点实在太多了,尤其是shader语言,好在最后成功把它啃下来了,先声明一下,本篇文章将会是这个系列中最难的,不过如果成功做出来成就感也是大大的,其实按照我的步骤一步一步来也没那么复杂啦,转载 2015-06-24 09:12:36 · 824 阅读 · 0 评论 -
Unity物理引擎研究之关节
添加关节Joints让刚体的行为更加复杂。比如,你可以制作一扇逼真的门或者是一台有摆动链条的吊机。1.关节介绍(1)铰链关节 Hinge Joint 。铰链关节由两个刚体组成,约束它们像连在一个铰链上一样运动,适用于门,不过对于典型的链子、钟摆等同样适用。属性Connected Body 连接体 为刚体指定的关节连接物,如不设定,则与世界相连。原创 2015-06-27 17:12:59 · 4617 阅读 · 0 评论 -
四元数和向量相乘,向量间的点乘和叉乘
四元数和向量相乘 Quaternion.Euler(x,y,z) 返回一个绕x轴旋转x度再绕y轴旋转y度再绕z轴旋转z度的Quaternion,因此Quaternion.Euler(0,90,0)返回一个绕y轴旋转90度的旋转操作.Quaternion作用于Vector3的右乘操作(*)返回一个将向量做旋转操作后的向量.因此Quaternion.Euler(0,90,原创 2015-07-07 09:29:01 · 10137 阅读 · 1 评论 -
Unity3D的Socket通信
我们知道两个进程如果需要进行通讯最基本的一个前提是有唯一的标示一个进程,在本地进程通讯中我们可以使用PID来唯一标示一个进程,但PID只在本地唯一,网络中的两个进程PID冲突几率很大,这时候我们需要另辟它径了,我们知道IP层的ip地址可以唯一标示主机,而TCP层协议和端口号可以唯一标示主机的一个进程,这样我们可以利用ip地址+协议+端口号唯一标示网络中的一个进程。能够唯一标示网络中的进程后原创 2015-07-29 15:41:46 · 1344 阅读 · 0 评论 -
游戏架构脚本该如何来写
这篇文章MOMO主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难。这篇文章的目的是让哪些已经上手Unity3D游戏引擎的朋友学会如何更好的写游戏脚本,当然本文这紧紧是我这么多年对游戏开发的认知,你也可以有你自己的看法。首先我们看看游戏主要是由哪几部分组成的,如下图所示,任何平台下的任何游戏核心都是由:数据、逻辑、渲转载 2015-08-12 10:43:00 · 796 阅读 · 0 评论 -
MVC框架(二)
好久没写博文了,最近刚找到一份工作,也是挺忙的,在做项目期间对MVC框架理解更深了点,趁着有闲时间把自己的感想写一下。在我看来框架和设计模式都是一种逻辑处理,根据自己的项目进行逻辑处理。MVC(Model View Controler),M是数据模型,V是用户界面,C是控制器。使用MVC的目的是要讲M和V实现代码分离,从而使同一个程序可以使用不同的表现形式。C的目的则是确保M和V同步,一旦M改原创 2015-09-30 10:54:29 · 505 阅读 · 0 评论 -
Unity中的旋转和缩放
一:鼠标旋转被选中的物体1.X轴在平面坐标是左右方向,这里得到的是左右移动距离2.移动距离得到了,接下来要考虑以那个轴为中心作旋转3.这里要实现固定摄像机位置的情况下旋转物体,就以Y轴为中心,所以Rotate(0,mousX,0);public float roate_Speed=100.0f;//旋转速度void Update(){Transform target_tran原创 2016-01-30 20:15:18 · 5480 阅读 · 0 评论 -
unity3d 状态存储 PlayerPrefs高级用法
using UnityEngine; using System.Xml.Serialization; using System.IO; public class StateStorage{ public static T LoadData( string key ){ if ( PlayerPrefs.HasKey( key ) ) { Xml转载 2016-03-22 10:31:55 · 1161 阅读 · 0 评论 -
C#/IOS/Android通用加密解密方法
公司在做移动端ios/android,服务器提供接口使用的.net,用到加密解密这一块,也在网上找了一些方法,有些是.net加密了android解密不了,或者反之。下面的是三个平台都可以加密解密的方法。加密解密中用到的key="1234578";在调取方法时传值即可。C#代码#region 跨平台加解密(c#) /// /// 对字符转载 2016-03-22 10:36:30 · 1643 阅读 · 0 评论 -
[Unity3d]打包Assetbundle并加载
由于我们要将模型资源放在远程的服务器端,但如果直接放fbx模型是不可以加载的,所以我们可以将fbx做成预设或者是直接将其打包成assetbundle格式的,然后通过www来加载获取。说下使用方法:1、把附件脚本放到工程文件夹下的...\Assets\Editor文件夹下。2、在工程的Project视图里点击想要保存的资源,网络上推荐的是Prefab,右键转载 2016-03-22 10:53:43 · 703 阅读 · 0 评论 -
帧同步游戏开发基础
帧同步游戏开发基础什么游戏适合帧同步这种技术? 在现代多人游戏中,多个客户端之间的通讯,多以同步多方状态为主要目标。为了实现这个目标,主要有两个方向的技术: 一种叫状态同步:客户端发送游戏动作到服务器,服务器收到后,计算游戏行为的结果,然后通过广播下发游戏中各种状态,客户端收到状态后显示内容。这种做法类似于各个客户端都远程操作服务器上的软件。最早的mud,以及后来大量的国产网游,特转载 2016-09-28 18:12:55 · 1524 阅读 · 0 评论 -
帧同步(LockStep)该如何反外挂
在中国的游戏环境下,反挂已经成为了游戏开发的重中之重,甚至能决定一款游戏的生死,吃鸡就是一个典型的案例。目前参与了了一款动作射击的MOBA类游戏的开发,同步方案上选择了帧同步技术(LockStep而非snapshots以下同)。那么就有很多人担心起来,客户端会跑全部逻辑帧同步该如何反外挂,和状态同步有什么区别呢?首先我们来分析一下手游的风险和外挂的分类,这里推荐腾讯游戏安全中心的文章,有着非常详细...转载 2018-03-09 14:24:07 · 2815 阅读 · 1 评论