从虚幻4蓝图到VisualFunction

UE4官方蓝图简介

虚幻引擎中的 蓝图 - 可视化脚本系统 是一个完整的游戏脚本系统, 其理念是,在虚幻编辑器中,使用基于节点的界面创建游戏可玩性元素。 和其他一些常见的脚本语言一样,蓝图的用法也是通过定义在引擎中的面向对象的类或者对象。 在使用虚幻 4 的过程中,常常会遇到在蓝图中定义的对象,并且这类对象常常也会被直接称为“蓝图(Blueprint)”。
该系统非常灵活且非常强大,因为它为设计人员提供了一般仅供程序员使用的所有概念及工具。 另外,在虚幻引擎的 C++ 实现上也为程序员提供用于蓝图功能的语法标记, 通过这些标记,程序员能够很方便的创建一个基础系统,并交


VisualFunction 简介

开发VisualFunction(后称呼为VF)的目的主要在于可视化调整Python程序运行参数,同时可视化Python程序的调用顺序。由于先前开发过UE4的程序,感觉UE4的蓝图功能很完善并且能够通过C++扩展。
但是VF基于Python语言。先将要在VF中动态可视化调用的函数解析到右键菜单;
如下面的函数

“`python
def Add(a,b):
c=a+b
return c

def Sub(a,b):
c=a-b
d=c-a
return c,d
def Mult(x,mult):
value=x*mult
return value

def Sin(angle):
value=math.sin(angle)
return value

def Add3(x1,x2,x3):
value=x1+x2+x3
return value
def Random():
value=random.randint(0,100)
return value
在VF程序中右键菜单可选择建立函数调用
“`这里写图片描述
建立一个稍微复杂的调用过程如下图
这里写图片描述

  1. 如图所示,VF默认有一个默认Start 入口
  2. 一个函数模块之后只能调用一个函数模块
  3. 一个函数模块可以被多个函数调用,目前只有一个入口点,且没有分支,所以都只被调用一次
  4. 函数输出变量可以为作为多个函数输入

上述调用过程编译为python代码如下列代码:

from Function import *
value1=Random()
value3=Random()
c2=Add(value1,value3)
value6=Random()
value4=Sin(c2)
value5=Mult(value4,value6)
value7=Add3(value3,value6,value5)
value8=Mult(value5,value7)
value9=Mult(value8,value7)
value10=Sin(value9)

目前还有一些基本的程序性功能没有开发;

  1. if switch 分支
  2. for while 循环 invoke
  3. 数组
  4. 全局变量定义

期望的扩展功能

  1. 可视化执行函数库
  2. 单步执行函数块,可视化变量
  3. 支持简单函数绘图

基于Python编译视图,不需要考虑变量类型,比UE4的蓝图从结构、功能都简单得多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值