尝试UE的UnrealJS插件

目标

Unreal.js插件让UE拥有使用Javascript的能力。
本篇目标是学习安装这个插件,并做些最简单的基础尝试。
(也参考了视频教程:Getting Started with Unreal JS - YouTube
(更多的脚本范例可以参考https://github.com/ncsoft/Unreal.js/tree/master/Examples/Content/Scripts

安装

https://github.com/ncsoft/Unreal.js-core 下载对应UE版本的插件,然后放入项目 Plugins 目录中,插件文件夹命名为 UnrealJS
在这里插入图片描述


然后,点击 install-v8-libs.bat 开始下载chromeV8引擎的库
在这里插入图片描述
下载完成后,就可以看到插件目录中有V8引擎的库了:
在这里插入图片描述
然后,运行工程,触发插件的编译即可。

尝试1:基础

下面进行一个最简单的尝试:

首先建立一个测试的脚本文件 test1.js,其内容只是创建一个新Actor:

let actor = new StaticMeshActor(GWorld,{
    
    X:100,Z:100},{
    
    Yaw:180})
actor.SetActorLabel("TestYakSue")

将其放在项目工程路径的 \Content\Scripts 下:
在这里插入图片描述
接着,在场景中新建一个空Actor,并添加一个 Javascript 组件:
在这里插入图片描述
在Javascript组件上指定脚本文件为 test1.js :
在这里插入图片描述
最后,点击运行,就能在场景中看到脚本创建了一个新Actor:
在这里插入图片描述

尝试2:定义新的类型

将测试脚本改为如下,其内容是创建一个新的名为 YakSueActor 的Actor类型,并声明一些属性,最后创建一个此类型的Actor:
(需要注意,声明属性后的注释并非是普通的注释,而是指明了属性的类型和说明符)

class YakSueActor extends Actor
{
    
    

    // declare UPROPERTY's here
    // ; this.XXXXX/*[attribute+]+type*/;
    properties() {
    
    
        this.Hello/*Replicated+EditAnywhere+int*/;
        this.World/*Replicated+EditAnywhere+Actor*/;
        this.Position/*EditAnywhere+Vector[]*/;
        this.Some/*EditAnywhere+DistanceDatum*/;
    }

}

let YakSueActor_C = require('uclass')()(global,YakSueActor);

let actor = new YakSueActor_C(GWorld)

运行后,便会新创建Actor,可以看到其拥有所定义的一些属性。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u013412391/article/details/132948437