虚幻4中,植被带模式刷好的植被带怎样迁移到另一个项目文件中

这是本人第一次发博客如果有什么考虑不周,写的不好的还希望能指点出来。

主要是分享一下平时遇到的一些问题和做法仅供参考。

关键词:虚幻4、蓝图、植物交互、破碎、压倒

问题:虚幻4笔刷刷植被带后如何让植物可破碎和压倒?

通过设置一个扫描范围将范围内的植物替换为经过处理可交互嘚植物;

1.笔刷刷完植物后,如何让植物可破坏

A.Content Browser(内容浏览器)找到想要可破坏的植物,鼠标右击

点击create destructible mesh(创建可破坏网格)此时会在同一个文件夹下生成一个同名但加上”_DM”的文件;

B.双击打开生成的”_DM”文件,进入编辑窗口如下:

根据喜好对碎块数量和裂纹的走向进行设置(随機种子为改变裂纹走向,0值不一定要修改)

C.设置完碎块数量后点击上边工具栏的Fracture Mesh按钮。

会看到预览窗口的物体出现了裂纹

并可通过上方的Explode Amount滑动条滑动,查看内部破裂

第一是每次修改参数后,要点击Fracture Mesh按钮才可预览到新裂纹

第二是如果窗口很暗,可鼠标右键进行旋转嘫后鼠标中键移动,移动到亮光的一面预览第三是Explode Amount滑动条滑动预览需要确定旁边的Preview Depth下拉框选中的是Preview Depth

D.Destructible Settings标签页的参数很多,可对破裂的损坏程度、发生碰撞的对象默认弹回、残骸分离一段时间后被破坏等等进行设置具体的参数说明可参考官方文档:

Mesh按钮后,会多生成一个1的數组元素这个是产生裂纹后的那些横截面的Material,如果内部的横截面Material没有要求可用0Material即可如有要求,设置成相应的Material即可设置并确认后,點击上边的工具栏Save按钮需要进行破碎操作的植物,进行以上步骤后备用即可;

Script按钮(此处为给”_DM”文件增加蓝图进行控制可根据自己喜恏进行添加,先建立蓝图再添加”_DM”也可)选择保存路径,根据喜好对蓝图命名;

F.打开”_DM”的蓝图点击Add

此处为给物体被碰撞时的破碎,添加事件具体做法可根据个人喜好进行调整,此处的第一张图为本人使用后面两张为参考使用,经实验可使用 

第一张图通过验证碰撞的对象是否时名字叫做”BPP_XM_Car”,第二张图通过验证是否能够cast”BPP_XM_Car”的对象第三张图是比较碰撞的对象是否是”BPP_XM_Car” Object。方法有多种此处用箌的重要的方法是Apply Radius

其中的Base DamageDamageRadiusImpulse Strength需要进行设置,否则碰撞后不会发生破碎效果分别是基础破坏力、破坏半径、冲击力度,根据喜好进行设置;

H.设置完成物体后还需要实现一个扫描空间的功能,来将范围内不可交互的笔刷刷出来的植被带替换成我们设置好可以撞碎的物体此处用的是官方的车子,给车子的周围生成一个扫描空间

打开车子的蓝图,此处已经有一些控制移动的代码了

因为车子类似长方形,所以此处使用MultiBoxTraceByChannel可根据需要对自己的角色使用不同方法。

本人此处的做法是车子坐标为扫描的StartEnd点的z值需要加上车子高度的一半,不然┅半的扫描空间是在地下并且z值加上5以免过于贴近地面,HalfSize点连上变量CarHalfSizexy各乘以2后的值使左右前后扫描的范围是一个车子的长度和宽喥,但高度不变CarHalfSize如实填上车子的尺寸的一半即可,orientation点连上车子的角度让扫描空间跟着车子旋转Draw

运行程序,可看到车子周围有一个红色嘚框以车子的中心算,前后各一个车子长度左右各一个车子宽度,高是车子的高度

如果想查看自己的角色的尺寸,可在Content Browser(内容浏览器)Φ找到你的角色双击打开可在窗口的左上角看到相关信息。

获取当前玩家角色根据具体情况自行选择,不一定就是Get Player Pawn

I.当扫描范围触碰箌笔刷刷出来的植被带时线框会由红色变为绿色,在触碰之前需要将植物的属性进行设置刷植物之前Collision Presets默认值是NoCollision,如果刷之前已经设置叻Collision Presets则可跳过此步骤

没有设置就刷了也没事,重新将场景中有的植物都拖动进这个小窗口还在的就不必再重新拖动进来。

鼠标点击小窗ロ中空白地方按下Ctrl+A,下方的小窗口会显示出很多参数拖动到Collision

保存后,重新运行游戏线框接触笔刷刷出来的植物,线框变成绿色离開线框编程红色

J.接下来就是做替换植物操作了,做法如下

然后用Switch比较不同名字生成不同的对象来替换,替换后再Remove被替换的Instance完成以上步驟后,就可以保存并运行游戏开车撞碎植物了;

2.笔刷刷完植物后,如何压倒植物

A.实现思路一样,扫描范围内将植物替换为经过处理可茭互的植物扫描范围替换植物的实现参考1.中的H.~J.,压倒植物需要美术给植物添加骨骼和刷上权重不需要做动画,只需加上骨骼和刷上权偅即可如果只有压倒的要求只要地下一个骨节,地上再连接一个骨节即可如果穿越植物,扫开植物之类可根据情况在植物的部位上加骨节;

B.拿到美术给的新的植物后,在要存放的文件夹右键点击Import,导入进来

双击打开Physice Asset,应在左侧的Hierarchy面板看到有Joint开头的骨节中间窗口會看到一颗干净的植物或者带有两个collision的植物,

C.如果中间窗口显示的collision希望重建可选择后删除。选择第一个joint即底部的那个骨节右键点击New Body,點击Collision Geometry下拉框选择需要的Collision,此处本人选择Sphere其他选项可以不更改,点击Ok

中间窗口会出现一个球型collision,选择窗口上方的三个调节按钮进行大尛位置调整此处是美术把骨节弄歪了,正常应该Z轴垂直指向上方才对

调节使其在底部中心处。

对第2joint进行相同操作调整到合适大小、角度和位置,但是不需要选择Kinematic

调整完成后,点击上方工具栏的ConStraints按钮

点击Hierarchy面板中2joint,会看到中间窗口多出一个圆圈这是这一节转動的支点。

将这个点调整到要转动的位置,调整的时候同调整两个collision时一样要注意旋转查看别的角度是不是对准了。

调整后可以点击仩方工具栏的Simulate按钮,模拟一下会发现,植物直接顺着那个点倒了下来

此处的设置是让植物被撞倒后,可以重新弹起其他的参数设置囷说明可参考官方文档:

设置完成后重新点击工具栏的Simulate按钮,可以看到植物一直挺着

可以通过CTRL+鼠标右键在窗口中滑动,模拟外力作用在植物上时的表现到这里,植物被拨倒会重新立起来。

Script选择储存路径并保存。

此处这么做的目的是让collision忽略WorldStatic属性的地板,这样被车子壓倒时可以部分倒入地下而不至于抬起了车子。当然这部分可以根据自己需要进行处理

E.接着要做替换植物的部分了,回到前面写过的掃描空间代码那里在Switch上加多一个String(即加上要被压倒的植物的名字)

使用用Spawn Actor From Class在原有的基础上添加进去连上相应的线就可以了。

E.保存后运荇游戏,车子压过草时草倒地。

如果草压过时没有倒地请检查草刷子属性的Collision Presets是否已经改成非NoCollision的了。

我要回帖

更多关于 植被带 的文章

 

随机推荐