关于图片的动态加载
图片从外部动态加载可以分两种方式:
一是可以通过web端的url地址来加载图片
二是可以通过本地路径地址加载图片
加载进来图片之后可以通过设置动态材质纹理来实现物体材质的动态变换
其中Plane2为变换材质的物体对象,Texture02为外部加载进来的贴图变量。需要先从plane02物体通过get material方法获取物体要变换的材质。然后通过creat dynamic material instance 转成动态实例。最后通过set texture parameter value 方法设置texture02到材质的HelloWorld(就是材质球总要替换的贴图属性名称)属性上。这里的物体上用材质或者材质实例都是可以的,但是要把贴图属性暴露出来。
关于文字的动态设置
3D文字主要依赖于Text 3D这个插件
之后可以创建Text3DActor蓝图,在其中设置文字和各种样式
以及可以通过添加transform节点来做文字的各种变换动画
文字本身有四面材质可以赋予,以及字体的调节和各种对齐模式等选项。
效果:
关于视频的播放
视频播放的功能可以直接参考官方文档进行一些列设置,这里说一下控制播放的方式。
主要通过控制视频节点的文件地址进而控制视频的切换,然后再通过open playlist index节点控制播放器播放播放列表中的哪个需要的视频。
在项目中碰到一个需求就是希望在UE运行的时候视频能停留在初始画面,之后可以通过蓝图控制视频的播放时机。
但由于他默认情况下并不具备这样的行为,你如果调用打开即播放的话那么他不会停留调用后直接播放视频,如果不勾选打开即播放的选项那么他初始就是黑屏。
于是考虑用视频的暂停控制,
但默认直接接暂定节点的话会不起作用,不知道为什么,考虑可能是由于视频open有延迟,在暂停执行的时候视频还没有加载上。于是我在中间加了一个延迟节点,结果就起作用了。
需求还需要在视频结束时停止在结束画面。。。
于是在播放和末尾暂停之间需要加上等同于视频时长的延迟。
虽然勉强完成了功能但总觉得方法是在太土,如果有哪位朋友有不需要开发的默认节点可以实现类似功能希望能指导一下。
(目前也没有办法做到运行时的随意控制暂停)