Unreal教学(11)——物体交互(Object Interaction with Blueprints)
1. 新建一个First Person的模板工程,
命名为BlueprintScripting.
2. Viewport
点击play完成之后,可以进入到射击的场景中,
通过按住鼠标左键,前后移动鼠标的话,相机会前后移动。
按住鼠标右键,前后拖动鼠标的话,相机会旋转。
按住鼠标的中间键或者左右键同时按,前后移动,相机则会上下移动。
按住左键或者右键相机会左右旋转,按住中间的键相机会左右移动。
以上就是Level Editor中的viewport操作。
3. 放置物体
最常用的对象是actor.
英文描述
An actor is a basic object with no inherent behavior other than the ability to be rotated, moved and scaled, but it can be expanded to include more complex behavior by attaching components.
这里的actor和components之前都有介绍,说到actor就是一个没有自己的属性,只能够旋转移动和缩放的物体,但是它可以通过添加其它的component来拓展它的功能。
我们的目标是创建一个射中之后会变换颜色的物体。
我们需要改变actor's的材料,材料的解释
A material is an asset that can be added to an actor's mesh (which defines the physical shape of the actor) to create its look.
mesh是指actor的物理形状,material可以理解成皮肤之类的东西。
所以改变物体颜色的一种方式是直接使用不同颜色的材料代替之前的材料。
4. 暂且材料用皮肤代替
这里新建了一个Materials的文件夹,然后命名了一个Material类型的TargetRed的文件,可以双击这个文件打开一个编辑框,如下图所示,这个是Material Editor。
5. 我们新添加了一个Vector Parameter的node,原文是这样的
A vector parameter in the Material Editor allows us to define a color, which we can then attach to the Base Color input on the tall material definition node.
写了一个红色的材料
定义了Metallic和Roughness值。
6.接下来要做的事情就是在确定物体是否被击中,击中的时候变换颜色。
所以需要使用到Blueprint。
这里将之前增加的actor变成蓝图,就是add blueprint按钮完成。
蓝图一般的工作流程用下面的语句描述
When something happens, check whether X, Y, and Z are true, and if so, do this sequence of actions.
有三个默认的事件触发
Event Begin Play
Event Actor Begin Overlap
Event Tick
这三个事件很容易描述。
7. 现在选择一个Event hit框。
可以看到有很多其它的框,五边形的是执行框。
蓝图是下面这个样子的,射中之后就会变化颜色。
完成之后的效果是下面这样的,
8. 这个蓝图有很多不完善的地方,比如玩家和这个圆柱接触的时候也会变成红色,所以需要修改这个东西。记住我们只是在被子弹击中之后才会变化颜色。
完成之后的蓝图长下面这个样子
9. 通常来说我们的我们的目标是移动的,比如敌人都是移动的,下面要做的事情,就是移动这个射击目标。
选择Details --> Transform --> Mobility将Static改成Moveable.
因为已经生成了蓝图,所以我们也需要在蓝图中进行修改。也是同样的地方和位置。
10. 首先在蓝图中增加方向和速度两个变量。
设置相关的参数。
最后的蓝图形式,可以按照这个结构设计出一个左右移动的物体。射击之后会变成红色。
前半部分
后半部分
还是挺好玩的。
:)