|
1 | 1 | KBEngine_unity3d_demo |
2 | 2 | ============= |
3 | 3 |
|
4 | | -##本项目作为KBEngine服务端引擎的客户端演示而写 |
| 4 | +## 本项目作为KBEngine服务端引擎的客户端演示而写 |
| 5 | + |
5 | 6 | http://www.kbengine.org |
6 | 7 |
|
7 | | -##官方论坛 |
| 8 | +## 官方论坛 |
8 | 9 |
|
9 | 10 | http://bbs.kbengine.org |
10 | 11 |
|
11 | 12 |
|
12 | | -##QQ交流群 |
| 13 | +## QQ交流群 |
13 | 14 |
|
14 | 15 | 461368412 |
15 | 16 |
|
16 | 17 |
|
17 | | -##Releases |
| 18 | +## Releases |
18 | 19 |
|
19 | 20 | sources : https://github.com/kbengine/kbengine_unity3d_demo/releases/latest |
20 | 21 | binarys : https://sourceforge.net/projects/kbengine/files/ |
21 | 22 |
|
22 | 23 |
|
23 | | -##KBE插件文档 |
| 24 | +## KBE插件文档 |
24 | 25 |
|
25 | 26 | https://github.com/kbengine/kbengine_unity3d_plugins/blob/master/README.md |
26 | 27 |
|
27 | 28 |
|
28 | | -##开始: |
29 | | - 1. 确保已经下载过KBEngine服务端引擎,如果没有下载请先下载 |
30 | | - 下载服务端源码(KBEngine): |
| 29 | +## 开始: |
| 30 | + 1. 确保已经下载过KBEngine服务端引擎,如果没有下载请先下载 |
| 31 | + 下载服务端源码(KBEngine): |
31 | 32 | https://github.com/kbengine/kbengine/releases/latest |
32 | 33 |
|
33 | | - 编译(KBEngine): |
| 34 | + 编译(KBEngine): |
34 | 35 | http://www.kbengine.org/docs/build.html |
35 | 36 |
|
36 | | - 安装(KBEngine): |
| 37 | + 安装(KBEngine): |
37 | 38 | http://www.kbengine.org/docs/installation.html |
38 | 39 |
|
39 | | - 2. 下载kbengine客户端插件与服务端Demo资产库: |
| 40 | + 2. 下载kbengine客户端插件与服务端Demo资产库: |
40 | 41 |
|
41 | | - * 使用git命令行,进入到kbengine_unity3d_demo目录执行: |
| 42 | + * 使用git命令行,进入到kbengine_unity3d_demo目录执行: |
42 | 43 |
|
43 | 44 | git submodule update --init --remote |
44 | 45 |  |
45 | 46 |
|
46 | | - * 或者使用 TortoiseGit(选择菜单): TortoiseGit -> Submodule Update: |
| 47 | + * 或者使用 TortoiseGit(选择菜单): TortoiseGit -> Submodule Update: |
47 | 48 |  |
48 | 49 |
|
49 | | - * 也可以手动下载kbengine客户端插件与服务端Demo资产库 |
| 50 | + * 也可以手动下载kbengine客户端插件与服务端Demo资产库 |
50 | 51 |
|
51 | | - 客户端插件下载: |
| 52 | + 客户端插件下载: |
52 | 53 | https://github.com/kbengine/kbengine_unity3d_plugins/releases/latest |
53 | | - 下载后请将其解压缩,插件源码请放置在: Assets/plugins/kbengine/kbengine_unity3d_plugins |
| 54 | + 下载后请将其解压缩,插件源码请放置在: Assets/plugins/kbengine/kbengine_unity3d_plugins |
54 | 55 |
|
55 | | - 服务端资产库下载: |
| 56 | + 服务端资产库下载: |
56 | 57 | https://github.com/kbengine/kbengine_demos_assets/releases/latest |
57 | | - 下载后请将其解压缩,并将目录文件放置于服务端引擎根目录"kbengine/"之下,如下图: |
| 58 | + 下载后请将其解压缩,并将目录文件放置于服务端引擎根目录"kbengine/"之下,如下图: |
58 | 59 |
|
59 | | - 3. 拷贝服务端资产库"kbengine_demos_assets"到服务端引擎根目录"kbengine/"之下,如下图: |
| 60 | + 3. 拷贝服务端资产库"kbengine_demos_assets"到服务端引擎根目录"kbengine/"之下,如下图: |
60 | 61 |  |
61 | 62 |
|
62 | 63 |
|
63 | | -##配置Demo(可选): |
| 64 | +## 配置Demo(可选): |
64 | 65 |
|
65 | | - 改变登录IP地址与端口(注意:关于服务端端口部分参看http://www.kbengine.org/cn/docs/installation.html): |
| 66 | + 改变登录IP地址与端口(注意:关于服务端端口部分参看http://www.kbengine.org/cn/docs/installation.html): |
66 | 67 |  |
67 | 68 |
|
68 | 69 | kbengine_unity3d_demo\Scripts\kbe_scripts\clientapp.cs -> ip |
69 | 70 | kbengine_unity3d_demo\Scripts\kbe_scripts\clientapp.cs -> port |
70 | 71 |
|
71 | 72 |
|
72 | | -##启动服务器: |
| 73 | +## 启动服务器: |
73 | 74 |
|
74 | | - 确保“kbengine_unity3d_demo\kbengine_demos_assets”已经拷贝到KBEngine根目录: |
75 | | - 参考上方章节:开始 |
| 75 | + 确保“kbengine_unity3d_demo\kbengine_demos_assets”已经拷贝到KBEngine根目录: |
| 76 | + 参考上方章节:开始 |
76 | 77 |
|
77 | | - 使用启动脚本启动服务端: |
| 78 | + 使用启动脚本启动服务端: |
78 | 79 | Windows: |
79 | 80 | kbengine\kbengine_demos_assets\start_server.bat |
80 | 81 |
|
81 | 82 | Linux: |
82 | 83 | kbengine\kbengine_demos_assets\start_server.sh |
83 | 84 |
|
84 | | - 检查启动状态: |
85 | | - 如果启动成功将会在日志中找到"Components::process(): Found all the components!"。 |
86 | | - 任何其他情况请在日志中搜索"ERROR"关键字,根据错误描述尝试解决。 |
87 | | - (更多参考: http://www.kbengine.org/docs/startup_shutdown.html) |
| 85 | + 检查启动状态: |
| 86 | + 如果启动成功将会在日志中找到"Components::process(): Found all the components!"。 |
| 87 | + 任何其他情况请在日志中搜索"ERROR"关键字,根据错误描述尝试解决。 |
| 88 | + (更多参考: http://www.kbengine.org/docs/startup_shutdown.html) |
88 | 89 |
|
89 | 90 |
|
90 | | -##启动客户端: |
| 91 | +## 启动客户端: |
91 | 92 |
|
92 | | - 直接在Unity3D编辑器启动或者编译后启动 |
93 | | - (编译客户端:Unity Editor -> File -> Build Settings -> PC, MAC & Linux Standalone.) |
| 93 | + 直接在Unity3D编辑器启动或者编译后启动 |
| 94 | + (编译客户端:Unity Editor -> File -> Build Settings -> PC, MAC & Linux Standalone.) |
94 | 95 |
|
95 | 96 |
|
96 | | -##生成导航网格(可选): |
| 97 | +## 生成导航网格(可选): |
97 | 98 |
|
98 | | - 服务端使用Recastnavigation在3D世界寻路,recastnavigation生成的导航网格(Navmeshs)放置于: |
| 99 | + 服务端使用Recastnavigation在3D世界寻路,recastnavigation生成的导航网格(Navmeshs)放置于: |
99 | 100 | kbengine\kbengine_demos_assets\res\spaces\* |
100 | 101 |
|
101 | | - 在Unity3D中使用插件生成导航网格(Navmeshs): |
| 102 | + 在Unity3D中使用插件生成导航网格(Navmeshs): |
102 | 103 | https://github.com/kbengine/unity3d_nav_critterai |
103 | 104 |
|
104 | 105 |
|
105 | | -##结构与释义: |
| 106 | +## 结构与释义: |
106 | 107 |
|
107 | | - KBE插件与U3D和服务器之间的关系: |
108 | | - 插件与服务器:负责处理与服务端之间的网络消息包、账号登陆/登出流程、由服务端通知创建和销毁逻辑实体、维护同步的逻辑实体属性数据等等。 |
109 | | - 插件与U3D:插件将某些事件触发给U3D图形层,图形层决定是否需要捕获某些事件获得数据进行渲染表现(例如:创建怪物、某个NPC的移动速度增加、HP变化)、 |
110 | | - U3D图形层将输入事件触发到插件层(例如:玩家移动了、点击了复活按钮UI),插件逻辑脚本层决定是否需要中转到服务器等等。 |
| 108 | + KBE插件与U3D和服务器之间的关系: |
| 109 | + 插件与服务器:负责处理与服务端之间的网络消息包、账号登陆/登出流程、由服务端通知创建和销毁逻辑实体、维护同步的逻辑实体属性数据等等。 |
| 110 | + 插件与U3D:插件将某些事件触发给U3D图形层,图形层决定是否需要捕获某些事件获得数据进行渲染表现(例如:创建怪物、某个NPC的移动速度增加、HP变化)、 |
| 111 | + U3D图形层将输入事件触发到插件层(例如:玩家移动了、点击了复活按钮UI),插件逻辑脚本层决定是否需要中转到服务器等等。 |
111 | 112 |
|
112 | | - Plugins\kbengine\kbengine_unity3d_plugins: |
113 | | - KBE客户端插件的核心层代码。 |
| 113 | + Plugins\kbengine\kbengine_unity3d_plugins: |
| 114 | + KBE客户端插件的核心层代码。 |
114 | 115 |
|
115 | | - Scripts\kbe_scripts: |
116 | | - KBE客户端的逻辑脚本(在此实现对应服务端的实体脚本、实体的背包数据结构、技能客户端判断等)。 |
| 116 | + Scripts\kbe_scripts: |
| 117 | + KBE客户端的逻辑脚本(在此实现对应服务端的实体脚本、实体的背包数据结构、技能客户端判断等)。 |
117 | 118 |
|
118 | | - Scripts\kbe_scripts\Account.cs: |
119 | | - 对应KBE服务端的账号实体的客户端部分。 |
| 119 | + Scripts\kbe_scripts\Account.cs: |
| 120 | + 对应KBE服务端的账号实体的客户端部分。 |
120 | 121 |
|
121 | | - Scripts\kbe_scripts\Avatar.cs: |
122 | | - 对应KBE服务端的账游戏中玩家实体的客户端部分。 |
| 122 | + Scripts\kbe_scripts\Avatar.cs: |
| 123 | + 对应KBE服务端的账游戏中玩家实体的客户端部分。 |
123 | 124 |
|
124 | | - Scripts\kbe_scripts\Monster.cs: |
125 | | - 对应KBE服务端的怪物实体的客户端部分。 |
| 125 | + Scripts\kbe_scripts\Monster.cs: |
| 126 | + 对应KBE服务端的怪物实体的客户端部分。 |
126 | 127 |
|
127 | | - Scripts\kbe_scripts\clientapp.cs: |
128 | | - 在KBE的体系中抽象出一个客户端APP,其中包含KBE客户端插件的初始化和销毁等等。 |
| 128 | + Scripts\kbe_scripts\clientapp.cs: |
| 129 | + 在KBE的体系中抽象出一个客户端APP,其中包含KBE客户端插件的初始化和销毁等等。 |
129 | 130 |
|
130 | | - Scripts\kbe_scripts\interfaces: |
131 | | - 对应KBE中entity_defs\interfaces中所声明的模块。 |
| 131 | + Scripts\kbe_scripts\interfaces: |
| 132 | + 对应KBE中entity_defs\interfaces中所声明的模块。 |
132 | 133 |
|
133 | | - Scripts\u3d_scripts: |
134 | | - Unity3D图形层(包括场景渲染、UI、物体部件、人物模型、怪物模型、一切关于显示的东西等等)。 |
| 134 | + Scripts\u3d_scripts: |
| 135 | + Unity3D图形层(包括场景渲染、UI、物体部件、人物模型、怪物模型、一切关于显示的东西等等)。 |
135 | 136 |
|
136 | | - Scripts\u3d_scripts\GameEntity.cs: |
137 | | - 无论是怪物还是玩家都由此脚本负责模型动画等表现部分。 |
| 137 | + Scripts\u3d_scripts\GameEntity.cs: |
| 138 | + 无论是怪物还是玩家都由此脚本负责模型动画等表现部分。 |
138 | 139 |
|
139 | 140 | Scripts\u3d_scripts\World.cs: |
140 | | - 管理游戏中大地图或副本的渲染层脚本,例如:负责将具体的3D怪物创建到场景中。 |
| 141 | + 管理游戏中大地图或副本的渲染层脚本,例如:负责将具体的3D怪物创建到场景中。 |
141 | 142 |
|
142 | 143 | Scripts\u3d_scripts\UI.cs: |
143 | | - 维护游戏的UI处理脚本。 |
| 144 | + 维护游戏的UI处理脚本。 |
144 | 145 |
|
145 | 146 | Scenes\start.unity: |
146 | | - 起始场景,由此启动进入游戏。 |
| 147 | + 起始场景,由此启动进入游戏。 |
147 | 148 |
|
148 | 149 | Scenes\_scenes\login.unity: |
149 | | - 登陆场景。 |
| 150 | + 登陆场景。 |
150 | 151 |
|
151 | 152 | Scenes\_scenes\selavatars.unity: |
152 | | - 角色选取场景。 |
| 153 | + 角色选取场景。 |
153 | 154 |
|
154 | 155 | Scenes\_scenes\world.unity: |
155 | | - 游戏中大地图/副本场景。 |
| 156 | + 游戏中大地图/副本场景。 |
| 157 | + |
| 158 | +## 演示截图: |
156 | 159 |
|
157 | | -##演示截图: |
158 | 160 |  |
159 | 161 |  |
160 | 162 |  |
0 commit comments