Unity3D&杂七杂八
Unity3D的杂七杂八
liu_if_else
这个作者很懒,什么都没留下…
展开
-
Unity3D&AI:寻路(1):A星寻路,在Unity上用C#代码实现。
A星寻路原理:略,网上可搜到通过理解A星寻路的原理可以设计出以下流程图: 流程图通过processon制作Unity C#脚本实现代码:各个坐标节点为单独的gameObject,并自带脚本:using UnityEngine;using System.Collections;public class AStarNodeSC : MonoBehaviour { public bool obs原创 2016-03-18 21:26:51 · 7929 阅读 · 3 评论 -
Unity协程实现分析以及Lua协程与Unity协程的混合使用
原文地址:http://stackoverflow.com/questions/12932306/how-does-startcoroutine-yield-return-pattern-really-work-in-unity Unity3D coroutines in detail Many processes in games take place over the course原创 2016-09-22 23:23:13 · 1800 阅读 · 0 评论 -
Unity&网络--HLAPI(1):服务器客户端变量同步,脏标识以及定制特性SyncVar
服务器同步变量-在网络游戏中,大部分事务都是在服务器内处理的,例如NPC被玩家攻击后减HP,服务器需要将变化的HP值传到各个客户端,客户端更新此HP值后,客户端才会显示减血后的NPC血量,这种同步变量是网络游戏中最基本也是最频繁的操作。原创 2017-04-12 23:43:09 · 2945 阅读 · 0 评论 -
Unity&网络:在局域网P2P网络中利用UDP广播实现保活/心跳
UDP在应用层实现保活/心跳在TCP网络中,已连接的两个端点互相知道对方端点的状态,例如连接时要三次握手,正常断开时要发FIN,异常断开时可以通过保活机制发现。UDP一个重要特征是无连接,因为无连接,使用它进行广播就特别方便,不必像TCP先连接才能通讯,因为无连接,它没有保活机制,一个节点不知道其他节点的状态。在一个在局域网场景中,可以应用UDP灵活的广播能力设计一个保活机制,各个P2P节点保存一个邻居节点列表,根据网络消息实时更新各个节点在线状态。原创 2017-04-27 18:32:16 · 4514 阅读 · 0 评论 -
Unity&网络--HLAPI(2):Unity HLAPI NetworkManager与NetworkBehaviour的回调函数
虽然当前的Unity游戏服务器模块即将被砍,不过作为当前最主流游戏引擎的一般性通用服务器架构,研究一下还是可以学习学习它的一些思想。Unity HLAPI既High Level API是相对于Low Level API,它隐藏了网络传输层的细节,更专注于将一些功能性的API暴露给使用者,其中NetworkManager为抽象出的最核心的管理类对象之一,而NetworkBehaviour可看做是MonoBehaviour的网络化版本。就如同我们习惯从MonoBehaviour的OnEnable,Start原创 2017-04-27 16:14:17 · 3204 阅读 · 0 评论 -
在Unity内使用对象池并实现线程安全的单例模式
用对象池管理游戏物体既是用Setactive命令将游戏物体关闭与开启来代替Instantiate与Destroy,重复使用同一种游戏物体,这种方法性能消耗小,可以把不同地点,不同事件,不同角色调用的同一种游戏物体放在一个列表中管理,在复杂场景中简化代码管理。 抽象理解起来就好像是把一堆东西放在一个地方,用的时候就拿一个出去,再用就再一个一个拿。用完了再放回来。拿出去的东西既是激活的游戏物体,放回来原创 2016-06-04 22:17:23 · 2683 阅读 · 2 评论 -
Unity Editor自制工具(1)--“Editor目录栏按钮+全局搜索方法+自制Editor窗口”实现搜索与删除场景中任意名称游戏物体
1,制作Editor上方目录按钮----------------------------------------------在C#静态方法上方加上[MenuItem("目录")],可在Editor中上方目录栏生成一个按钮。原创 2017-02-15 16:06:54 · 1746 阅读 · 0 评论 -
Unity5.X打包与加载AssetBundle简单示例
所有脚本代码来自官方打包AssetBundle:在Editor界面,点击prefab或文件,在AssetsBundle处设置此prefab的Assetsbundles属性。 点New可以创建AssetBundle名称,输入“/”可设置下一级名称。 多个物体可设为同一个AssetBundle名称。 添加一个脚本,给Editor增加一个打包的功能:using UnityEditor;public原创 2016-10-07 18:38:00 · 3983 阅读 · 0 评论