文档章节

KBEngine(服务端) + UE4(unreal engine4客户端)demo搭建

l
 lixfooo
发布于 2017/01/29 14:22
字数 671
阅读 96
收藏 0

 

KBEngine_ue4_demo

This client-project is written for KBEngine(a MMOG engine of server)

http://www.kbengine.org

中文

Demo搭建文档

Releases

sources     : https://github.com/kbengine/kbengine_ue4_demo/releases/latest
binarys     : https://sourceforge.net/projects/kbengine/files/

KBE-Plugins docs

https://github.com/kbengine/kbengine_ue4_plugins/blob/master/README.md

Start:

1. Download KBEngine(a MMOG engine of server):
    Download(KBEngine):
        https://github.com/kbengine/kbengine/releases/latest

    Build(KBEngine):
        http://www.kbengine.org/docs/build.html

    Installation(KBEngine):
        http://www.kbengine.org/docs/installation.html

2. Use git to get the plugin(client) and demo-assets(server):

    In the kbengine_ue4_demo directory:

    * Git command: git submodule update --init --remote

 

* Or use TortoiseGit(menu): TortoiseGit -> Submodule Update:

 

* Or manually get the plugin(client) and demo-assets(server)

        Download plugin(client):
            https://github.com/kbengine/kbengine_ue4_plugins/releases/latest
            unzip and copy to "Assets/plugins/kbengine/kbengine_ue4_plugins"

        Download demo-assets(server):
            https://github.com/kbengine/kbengine_demos_assets/releases/latest
            unzip and copy to "kbengine/"  (The root directory server engine, such as $KBE_ROOT)

3. Copy "kbengine_ue4_demo\kbengine_demos_assets" to "kbengine\" root directory

demo_configure

Configure Demo(Optional):

Change the login address:

 

kbengine_ue4_demo\Content\ClientApp-> ip
    kbengine_ue4_demo\Content\ClientApp-> port

Start the Servers:

Ensure that the "kbengine_ue4_demo\kbengine_demos_assets" has been copied to the "kbengine\" directory
    Reference:Start

Check the startup status:
    If successful will find log "Components::process(): Found all the components!".
    Otherwise, please search the "ERROR" keyword in logs, according to the error description to try to solve.
    (More: http://www.kbengine.org/docs/startup_shutdown.html)

Start server:
    Windows:
        kbengine\kbengine_demos_assets\start_server.bat

    Linux:
        kbengine\kbengine_demos_assets\start_server.sh

    (More: http://www.kbengine.org/docs/startup_shutdown.html)

Start the Client:

Directly start(U3DEditor or Executable file).
(Build Client:Unity Editor -> File -> Build Settings -> PC, MAC & Linux Standalone.)

Navmesh-navigation(Optional):

The server to use recastnavigation navigation.
Recastnavigation generated navigation mesh (Navmeshs) placed on the:
    kbengine\kbengine_demos_assets\res\spaces\*

Generation Navmeshs:
    ...

Structure and interpretation:

The relationship between plug-ins(KBE) and U3D and servers:
    Plug-in and servers: Responsible for processing and server network packet. account login/logout process. 
                 By server notification logic entities are created and destroyed. Processing synchronous logical entity attribute data. etc.
    Plug-in and U3D: The plug-in will trigger some events to the U3D graphics layer, the graphics layer determines whether to capture some events, 
            get data to render performance (for example: create a monster, a NPC move-speed increase, HP changes).
            U3D graphics layer will input the event trigger to the plug-in layer (for example: the player moved, hit the relive button UI), 
            the plug-in logic script layer determines whether the need to transfer to the server. etc.

clientapp:
    In the system of KBE abstraction of a client APP, which contains the KBE client plug-in initialization and destruction, etc.

Plugins\KBEnginePlugins
    Client plug-in core codes.

Source\kbe_scripts:
    KBE client logic scripts(in this implementation of the server side of the entity script, the entity's bag data structure, skills in client condition checks, etc.).

    kbe_scripts\Account:
        Corresponds to the client side of the KBE server account entity.

    kbe_scripts\Avatar:
        Corresponds to the client side of the KBE server avatar entity.

    kbe_scripts\Monster:
        Corresponds to the client side of the KBE server monster entity.

    kbe_scripts\interfaces\:
        Corresponding to the module defined in KBE(entity_defs\interfaces).

Source\ue4_scripts:
    ue4_scripts\PlayerCharacter:
        Current client player, the script processing model and animation and other parts.

    ue4_scripts\GameEntity:
        Whether the monster or other players, by the script responsible for the model and animation and other parts.

    ue4_scripts\GameModeLogin:
        Manage landing scenes, listen for events related to the KBE plug-in, and trigger events to the plug-in.

    ue4_scripts\GameModeSelectAvatar:
        Manage role selection scenarios, listen for events related to the KBE plug-in, and trigger events on the plug-in.

    ue4_scripts\GameModeWorld:
        Listen to events related to the KBE plug-in, trigger events to the plug-in, and manage scripts for in-game maps, such as creating a specific 3D monster in the scene.

Content\LoginScene:
    Start the scene, which starts to enter the game.

Content\SelectAvatarScene
    Game character selection map.

Content\WorldScene
    A map of the scene in the game.

Screenshots:

screenshots1screenshots2screenshots3

KBEngine

© 著作权归作者所有

共有 人打赏支持
l
粉丝 0
博文 6
码字总数 3090
作品 0
深圳
私信 提问

暂无文章

大数据教程(13.6)sqoop使用教程

上一章节,介绍了sqoop数据迁移工具安装以及简单导入实例的相关知识;本篇博客,博主将继续为小伙伴们分享sqoop的使用。 一、sqoop数据导入 (1)、导入关系表到HIVE ./sqoop import --connect...

em_aaron
23分钟前
0
0
Git cherry-pick 使用总结

应用背景:假设现在有两个分支:dev_01, dev_02. 如果我想把dev_01分支上的某几个commit合并到dev_02分支, 那么怎么办呢? 这就是cherry-pick的工作了。cherry-pick会捡选某些commit, 即把某...

天王盖地虎626
52分钟前
8
0
css动态设置宽高

css 中可以使用 calc() 来动态设置宽高,但是,在表达式中运算符的前后必须要有空格 height:calc(100vh - 80px)

林梓阳
今天
2
0
Git忽略提交规则 - .gitignore配置运维总结

在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交。简单来说一个场景:在你使用git add ....

二团长的迫击炮
今天
6
0
记录一次用VB合并数据,确实很好用

Sub 合并()Dim row, col, val As DoubleFor row = 1 To 710 Step 1 For col = 1 To 15 Step 1 If IsNumeric(sheet2.Cells(row, col)) And IsNumeric(Sheet3.Cells(row, ......

蓝栩液枫
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部