今天把Blueprint编程相关的文档浏览了一遍,发现Blueprint最终还是被转换成UnrealScript虚拟机的字节码后再执行的,原文链接:
https://docs.unrealengine.com/latest/INT/Engine/Blueprints/TechnicalGuide/Compiler/index.html
Backend Emits Generated Code
The backends convert the collection of statements from each function context into code. There are two backends in use:
-
FKismetCompilerVMBackend
- Converts FKCS to UnrealScript VM bytecode which are then serialized into the function's script array -
FKismetCppBackend
- Emits C++-like code for debugging purposes only
从原文里看,虽然也能生成C++代码,但只是用来调试的,应该不会在正式代码中运行。
也就是说,Blueprint理论上运行效率和Unreal Script是一样的,这不免让人有些失望。原先我以为Blueprint会直接转换成C++代码然后和其他部分一起编译运行的,这样在运行效率上会有很大的提升,但看来Epic出于某种原因还是继承了过去已有的一些基础部件。
虽然上面写的不是特别好的消息,但今天还是看到了一些好东西的:
- UE4 Launcher更新了,并且MarketPlace更新了一个新的免费内容:Blueprint Office!大小有1G,又是一个非常好的学习材料
- 官网上更新了一系列新的教程,其中最扎眼的就是:
- 这个系列教程介绍了UE4为动画师和Rigger提供的Maya插件工具,看上去似乎非常不错,可惜我对这一块完全不了解,感兴趣的人可以去看看