蓝图学习——04

生成蓝图类

有时候我们的蓝图对象无需一开始就要在场景中,我们可以通过播放加载的方式,在加载过程中生成蓝图类

可以在关卡蓝图中操作生成蓝图类

节点: Spawn Actor from class。选择好要生成类对象的类,调整好变换参数即可生成。

 

下面接 蓝图学习03中的案例,这次把BP_XSQ在场景中的对象删除,通过生成的方式生成其对象。因为无法直接在场景中存在,所以BP_YKQ无法通过用提升共有变量去吸取场景中对象的方式给其   对象引用变量(BP-XSQ)  赋值

这里 “一次对象引用”的意思:用一个引用(别名)指代了我们生成的场景对象,方便我们后面要调用该场景对象时直接使用这个别名就好了。这里我们把生成的蓝图类对象名字新建一个引用(通过set方式,不一定说有set都是引用)。

接下来是BP_YKQ中的控制代码

运行发生错误:提示无法访问BP_XSQ_01,其实就是意味着这个引用(别名)未能和场景中的对象真名绑定,导致其为空。

 

发生原因看下图:

由于BP_YKQ和关卡蓝图中代码一起开始,可能BP_YKQ运行的还更快。就又导致了控制前未对其对象引用赋值,其为空,故无法访问。

 

解决方法:通过添加自定义事件。将控制代码改成又自定义事件触发,并将其附在关卡蓝图后面即可。

如果要把BP_YKQ也改为生成的蓝图类。则如下:

再一个例子:

生成场景中的静态网格物体----梯形楼梯。

1.根据梯形楼梯的所属的类----静态网格物体(static mesh actor),选择该类。并将其transform参数写入节点中的spawn transform引脚。

 

2.静态网格物体类对象有很多种,继续设置,set static mesh,并根据梯形楼梯所属的对象名选择正确的 静态对象引用。

   

 

3.执行播放,仍然失败。错误提示:移动性为“静态”。解决办法:设置移动性(set mobility)

  

4 结束

 

生成人物

通过蓝图生成的人物,和把人物类拖进场景中一样,默认是不受控制的。需要选择其控制。

所以蓝图中也需要实现该功能:暂时关闭情境关联,搜索possess。注意其目标是控制器,故应该获取玩家控制器,选择play0。

       

运行时候生成人物对象,若游戏模式为第三人称。则原先默认人物将静止,新建人物接受控制。

若游戏模式为GameMode,运行生成对象,则会在视口位置生成一个球,代表该游戏模式下的视口位置。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值