- 博客(11)
- 资源 (11)
- 收藏
- 关注
原创 unity-unet-动态spawn player
连接服务器成功时,会在客户端生产一个player,这个player 的 prefab 可以在 Network Manager 中指定,如果不去重写一些方法的话,所有 player 生成的都是同一个 prefab 资源。继承 Network Manager 重写 OnServerAddPlayer 方法,要自定义的prefab 一定要丢进注册列表中,也就是这个 代码中是丢在这个容器中 [Ser
2016-09-24 21:20:11 4820 1
原创 unity-unet-设置player的开始位置
当客户端连接成功并验证通过时(你自己的验证逻辑,后面有这样的文章),会通知服务端spawn 一个该 player ,该 player 的 transform 可以自定义设置使用直接在 Scene 中丢几个空对象,挂上一个 Network Start Position 组件 然后在 Network Manager 中设置随机方式,就可以随机这几个点 Spawn player 了 两种
2016-09-24 21:07:06 3083
原创 unity-unet-自定义可视化区域范围(NetworkProximityChecker)
类似于AOI,在超过范围的物体不绘制,也不同步。 减少客户端不必要的绘制和计算 效果图 1. 简单使用在UNET中使用很简单,只需要在不销毁的实例中挂上一个 NetworkProximityChecker 组件,调整可视范围 Vis Range 即可 里面的实现是 通过物理碰撞框来找到可视对象 var hits = Physics.OverlapSphere(transform.po
2016-09-22 22:19:36 2519
原创 unity-unet-多人在线同步问题解决方案
看了些文章,大牛对同问题的解决方案 传送门:Fast-Paced Multiplayer 文中大体的思路: 1. A玩家 移动时,本机自行移动,并发送移动指令给服务端,假设移动是成功的,服务端同步其他客户端 B玩家,B玩家 中用一个队列 Queue 来装服务端来的移动指令,然后客户端在updata中做插值 (lerp ) 处理,这样 A玩家 在 B玩家客户端中移动起来就比较平滑如果 A
2016-09-17 01:20:50 16893
原创 unity-unet-同步各个player唯一标识
Multiplayer Game 中所有 player 都有一个唯一标识。在unet中可以通过 Network Identity 组件获取到该 player 在整个网络整的 唯一 的连接 id 这里测试则随便加了一个前缀(Player_)+id 作为唯一的 name 赋值给 transform.name,然后可以在 Runtime 时 Hierarchy 中可以观察到 整体思路:OnSt
2016-09-16 13:29:08 6389 2
原创 unity-编辑器扩展
unity编辑器扩展很方便,可以省掉很多制作其他工具的时间(比如技能编辑器,特效编辑器等,都是数据结构的导入导出) 可以直接在 Scene 、Inspector 或者新建一个 Window 中编辑 1、Inspector在 Inspector 中最简单的就是直接把脚本中的成员变量设置为 public,直接就可以在显示出来编辑。public class Actor : MonoBehavi
2016-09-11 02:44:17 5410 2
原创 unity-使用unet做多人在线fps或tps
unity5 中新加入了个 unet 模块,使用的命名空间是 using UnityEngine.Networking; 做多人在线的游戏最头疼的问题就是同步问题,而这个unet模块就是其中一个解决方案,可以不提太关心网络,就可以制作出一个多人在线的demo。 unet里的同步概念就是有n个客户端,其中一个同时也作为服务端。身兼服务端的客户端已挂,其他客户单也就掉线。就像cs一样,
2016-09-11 02:30:44 5768
原创 unity-单件模式的使用
在游戏中很多地方都用了全局唯一的单件,像什么技能管理器、buff管理器等等… Google了一下不外乎都是在unity中 实例 一个对象gameobject,往这个gameobject身上挂上所有的Mgr组件,然后设置这个gameobject在切场景的时候不让销毁(DontDestroyOnLoad) ps: 有些人喜欢在一个总控制器里加上一个dictionary来保存所有的mgr,但是我
2016-09-10 01:01:54 1738
原创 unity-与Android交互(unity5、android studio)
使用的是工具是 unity5.4,Android Studio 2.0(后面简称 AS) 网上找到的教程大部分都是导出jar给unity调用,极少是用AS导出 aar 包给unity调用 用AS导出jar需要修改一下 build.gradle 文件,但这里主要是说导出 aar包 实现unity掉java里面的代码有两种方式 第一种方式,自己写个java类,jni需要的 中转站cpp
2016-09-04 00:39:48 17260 38
原创 unity-调用动态库so-android篇
在Android环境下,调用so库 Windows编 1、生产so库用的代码和Windows篇的产不多,不过稍作修改,不需要导出dll了, NaviteCode.h #ifndef __NativeCode_H__ #define __NativeCode_H__ #if 0 #define EXPORT_DLL __declspec(dllexport)
2016-09-03 03:44:11 21230 6
原创 unity-调用动态库dll-windows篇
其实就是c#调用dll Android篇 1、生成64位的dll用vs新建个工程,随便写个函数 NaviteCode.h#ifndef __NativeCode_H__#define __NativeCode_H__#ifndef EXPORT_DLL#define EXPORT_DLL __declspec(dllexport) //导出dll声明#endifextern
2016-09-03 01:27:01 4669
Unity 5.x Shaders and Effects Cookbook(2nd).pdf
2016-10-20
Cocos2d-x与Android交互(c++与java互调),与IOS交互(c++与objective c混编)
2014-05-03
开源测试项目:spring mvc+springsecurity3+ehcache+bootstrap+mysql
2013-08-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人