UE Actor一些常见的功能

        因为我平时是用蓝图写项目功能的,所以这里提到的是蓝图中的实现方法。

获取蓝图类自身:self

获取蓝图所在物体:

销毁物体:等同于unity中的Destroy(Acor1)

延迟销毁物体:两种方法,等同于unity中的Destroy(Acor1,1f)

 

 通过组件访问Actor:

通过Actor访问组件:

在关卡蓝图中获取某个物体的引用:先在关卡中选中物体TestCube1,然后在关卡蓝图中如下操作

查找物体:

 

 给Actor添加标签:                                        判断Actor是否包含标签:

 显示隐藏Actor:

        SetVisibility需要传入布尔参数控制显示或隐藏。ToggleVisibility是开关功能,不断调用会让物体不断地在显示和隐藏之间切换。带Hidden的函数控制能力比带Visibility的函数强一些。分别控制Rendering组件下的2隔变量:

 

 

 


2022.11.15添加

获取Actor位置、角度、缩放:

实例化Actor:类似unity中的Instantiate(prefab),使用Spawn Actor From Class


 

 

2022.11.14添加

如果你对某个物体添加了蓝图脚本组件,那么在这个蓝图中你就不能使用GetActorOfClass之类的方法,要使用GetComponentOfClass方法。例如我在演示工程中的第三人称角色ThirdPersonCharecter上添加了MyPlayer蓝图脚本组件,通过下面的方法获取对应蓝图变量。

播放音频:左边播放音频整个场景能听到,右边是在某个位置播放音频

 播放视频:有在场景中播放视频和在UI上播放视频两种。

在场景中播放视频

1.在工程文件夹Content中新建一个文件夹命名为Movies,将视频拖入该目录下,会生成一个File Media Source文件,双击查看属性,路径已经设置好了。名字一定要为Movies,这样才能打包成功。

 2.创建Media Player,弹出框打钩,会自动生成一个Media Texture,然后在场景中放一个Plane用于播放视频,大小角度稍微调整一下。

 

点开这个Media Player有三个选项需要注意一下,分别是Play on Open(自动播放)、Shuffle(随机播放)、Loop(循环播放),这里我们默认就行。

然后右键这个MediaTexture创建一个材质,打开这个材质要注意MaterialDomain这个选项,如果是3D场景中使用则用默认的Surface,如果是UI上使用则选最后一个UserInterface。

 然后把创建的这个材质拖到播放视频的plane上去

 3.给Plane添加蓝图脚本,用于控制视频的播放,名字自己决定,这里用默认名字。

 4.添加一个MediaPlayer类型变量,点开眼睛表示公有变量。然后编译一下,播放视频的Plane名字就变成跟蓝图名一样了,这里我改成了Plane_Video方便认识管理,同时Plane的属性面板上出现了一个跟蓝图中定义的同名的变量名MediaPlayer,然后我们把刚才创建的MediaPlayer文件拖上去

 

 5.添加播放功能。选中Plane_Video物体,点击属性面板上的Edit Blueprint,再点击橘黄色按钮打开蓝图编辑器。

然后把MediaPlayer变量拖入编辑区,选择Get获取该变量,然后使用下面的方法播放视频。

 OpenSource的资源选择我们拖入视频时自动生成的那个FileMediaSource文件,然后再调用Play函数就行了。同理还有Pause、Close分别表示暂停、关闭。OpenSource初始化完毕后,Play可以在其它地方使用,不一定要放一起使用。

        这个时候视频还没声音,选择播放视频的plane的蓝图Plane_Blueprint点击AddComponent,搜索MediaSound,添加该组件,然后把播放视频的名为NewMediaPlayer拖入到MediaSound的MediaPlayer变量上去,这个时候播放视频就有声音了。而且我们还可以直接把MediaSound拖入场景中获得该组件对象,然后调用SetVolumeMultiplier来设置音量大小。

 如果是播放网络视频,调用OpenUrl函数就行了,url参数填网络视频的地址。

 在UI上播放视频

 1.我们在一个UI蓝图控件UI1上拖入一个Image,用于播放视频。然后选中之前的MediaTexture右键创建材质,MaterialDomain类型选择UserInterface,这时候这个材质看起来是黑色图标的样子。

 2.选中要播放视频的Image,找到Brush的Image处,点击1处的下拉箭头选择刚才我们创建的视频UI材质,或者点击放大镜图标,然后切换到主界面用鼠标左键点击对应的视频UI材质,再切回来点击3处的左箭头按钮,这样也能选择我们需要的视频UI材质。

其中UI蓝图的右上角有两个按钮,分别用于设计UI和写逻辑。在写逻辑界面如果看不到红色默认事件节点,记得点击EventGraph按钮,这样就会进入逻辑代码编辑区。

 3.在这个UI蓝图控件UI1中定义一个MediaPlayer类型变量,默认值选择我们定义的MediaPlayer对象。然后参照前面的方法进行播放就行了。若没有声音的话,则在一个物体上挂一个MediaSound组件就行,视频暂停、关闭时MediaSound也要暂停关闭。

 

一开始视频是黑屏的,但是有声音,说明播放出来了,但是看不到画面。然后我就怀疑是材质问题,我打开材质看了下,左边的画面在动,但是右边没有线连起来,于是我把线连起来在场景中就看到画面了。原因就是创建材质时默认时Surface类型,然后把材质类型改成UserInterface用于播放视频时,我发现连线就断开了,系统坑我啊。

 最终视频播放出来了,就是那个有人在弹钢琴的画面。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: b'ue4 actor component'是Unreal Engine 4中的一个组件,可以附加到Actor上,并添加自定义功能,例如碰撞检测、动画控制和游戏逻辑。这样,多个Actor可以共享同一个组件,从而简化代码和提高效率。 ### 回答2: UE4 Actor Component是一个非常重要的功能模块,它可以让我们为UE4引擎中的游戏角色添加自定义的行为和功能,而不需要修改原有的游戏代码。使用Actor Component,我们可以将游戏角色所拥有的行为和功能拆分成一个个独立的模块,并可以独立开发、测试、优化和修改,从而提高游戏的可维护性和开发效率。以下是Actor Component的主要特性: 1. 重用性:可以将Actor Component应用到不同的游戏角色中,从而将相同的行为和功能重用。 2. 灵活性:可以根据需要添加或移除Actor Component,从而增强游戏角色的行为和功能。 3. 可拆分性:可以将复杂的游戏角色拆分成更小、更简单的组件,从而降低代码复杂度和维护成本。 4. 可扩展性:通过继承Actor Component类,我们可以创建自己的定制组件,从而增强游戏的定制化程度。 使用Actor Component开发游戏可以大大简化代码开发过程,加快开发时间,减少错误和bug,提高代码的可读性和可维护性。Actor Component是UE4引擎的一个重要特性,也是开发高质量游戏的不可或缺的工具之一。 ### 回答3: UE4(Unreal Engine 4)是一款功能强大的游戏开发引擎,其中的Actor和Component模块是构建游戏对象的重要组成部分之一。Actor是在游戏场景中的一个物体,而Component是Actor对象的一部分,经常用于添加特定功能和属性。UE4Actor Component能够帮助游戏开发人员在游戏中实现更多的交互和动态效果。 UE4 Actor Component的设计思路是将不同的组件将Actor划分为不同的模块,使其更加简单易用和灵活。通过UE4 Actor Component,开发人员可以根据自己的需求将多个组件组合在一个Actor中,从而实现更复杂的游戏特效等功能UE4 Actor Component提供了很多常见的组件,如动画组件、碰撞器组件、模型组件、声音组件等,以及多种自定义组件。其中,动画组件是游戏开发中最常用的组件之一,可以使游戏中的角色动作更加真实,使动画更加流畅。碰撞器组件则可以增加游戏中的碰撞检测效果,模型组件可以快速地在场景中添加物体,声音组件则可以为游戏增加更多音效。 UE4 Actor Component的另一个优势是可以通过连接多个组件来创建更为复杂的组件。通过将一个组件附加到另一个组件上,可以将两个组件的功能融合在一起,从而实现更多不同的游戏特效。例如,一个具有紫外线视觉效果的球体可以通过将光线源附加到它的组件上来实现,这样就可以使球体在场景中发出紫外线光线。 总之,UE4中的Actor Component是游戏开发中非常重要的一部分,它能够提供丰富多彩的特效和功能,游戏开发人员可以通过组合不同的组件来实现自己的游戏开发需求。因此,学习UE4 Actor Component对于游戏开发人员来说是非常有必要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值