UE4 lib插件开发

项目总价 2000
预估日薪 1000/天
合作方式: 项目制
预估工时: 2天
发布位置: 北京
参与范围: 全国远程
用户1112
用户1112
职位ID: 107167

发布方信用行为

发布项目
1
订单总数
0
退款单数

需求描述

根据现有C++的属性树lib库,编译UE4所用蓝图库。版本是4.19和4.25。
Lib库文件目录如下:

代码调用示例如下:

#include <iostream>
#include <Main/globals.hxx>

#include <Scripting/NasalSys.hxx>
#include <LuaScripting/LuaSys.hxx>
#include <simgear/lua/lua.hpp>

//分系统模块
class MgrTest : public SGSubsystem
{
public:
MgrTest() {};
virtual ~MgrTest() {};

void init() {};
void bind() {};
void unbind() {};
void update(double dt) {
std::cout << "分系统模块更新函数" << std::endl;
};
private:
};

//属性树简监听器
class TestListener : public SGPropertyChangeListener {
public:
virtual void valueChanged(SGPropertyNode* node) {
std::cout << "属性值被改变:"<< node->getFloatValue() << std::endl;
}
};
int main()
{
//初始化全局控制系统
globals = new FGGlobals;
//写入属性树值
const char* treeTest ="fdm/oops/test";
globals->get_props()->setFloatValue(treeTest, 200);
//获取属性树值
float ret=globals->get_props()->getFloatValue(treeTest);
//往属性树添加监听器,无节点时候创建该节点
globals->get_props()->getNode(treeTest, true)->addChangeListener(new TestListener);
//写入值,触发监听器运行
globals->get_props()->setFloatValue(treeTest, 402);
//分系统注册和运算更新
globals->get_subsystem_mgr()->add("MgrTest", new MgrTest);
//运行LUA系统模块
globals->get_subsystem_mgr()->add("MGLuaSys", new MGLuaSys);
globals->get_subsystem_mgr()->bind(); //优先运行
globals->get_subsystem_mgr()->init();//优先运行
globals->get_subsystem_mgr()->update(0.0);//每帧运行



std::cout << ret << std::endl;
}

需要将属性树读取、写入、初始化、创建、监听等函数制作为蓝图节点,方便蓝图程序调用。

UE4 lib插件开发

合作方式 项目制
预估日薪 1000
预估总价 2000元
预估工时 2天
发布位置 北京
可参与范围 全国远程
职位ID 107167
发布方 用户1112
用户1112
已有10人投递 ,发布人 点此登录 后查看。

需求描述

根据现有C++的属性树lib库,编译UE4所用蓝图库。版本是4.19和4.25。
Lib库文件目录如下:

代码调用示例如下:

#include <iostream>
#include <Main/globals.hxx>

#include <Scripting/NasalSys.hxx>
#include <LuaScripting/LuaSys.hxx>
#include <simgear/lua/lua.hpp>

//分系统模块
class MgrTest : public SGSubsystem
{
public:
MgrTest() {};
virtual ~MgrTest() {};

void init() {};
void bind() {};
void unbind() {};
void update(double dt) {
std::cout << "分系统模块更新函数" << std::endl;
};
private:
};

//属性树简监听器
class TestListener : public SGPropertyChangeListener {
public:
virtual void valueChanged(SGPropertyNode* node) {
std::cout << "属性值被改变:"<< node->getFloatValue() << std::endl;
}
};
int main()
{
//初始化全局控制系统
globals = new FGGlobals;
//写入属性树值
const char* treeTest ="fdm/oops/test";
globals->get_props()->setFloatValue(treeTest, 200);
//获取属性树值
float ret=globals->get_props()->getFloatValue(treeTest);
//往属性树添加监听器,无节点时候创建该节点
globals->get_props()->getNode(treeTest, true)->addChangeListener(new TestListener);
//写入值,触发监听器运行
globals->get_props()->setFloatValue(treeTest, 402);
//分系统注册和运算更新
globals->get_subsystem_mgr()->add("MgrTest", new MgrTest);
//运行LUA系统模块
globals->get_subsystem_mgr()->add("MGLuaSys", new MGLuaSys);
globals->get_subsystem_mgr()->bind(); //优先运行
globals->get_subsystem_mgr()->init();//优先运行
globals->get_subsystem_mgr()->update(0.0);//每帧运行



std::cout << ret << std::endl;
}

需要将属性树读取、写入、初始化、创建、监听等函数制作为蓝图节点,方便蓝图程序调用。

发布方信用行为

发布项目 2
订单总数 1
退款单数 0

完善简历

工程师完善技术能力和项目经验,更易接到订单

完善人才简历

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在 1 小时内与您联系确认。
已有 10 人投递
登录后查看投递状态