0

我是游戏开发的新手。我正试图从高起点开始制作 3D 角色扮演游戏。我知道这条路不会一帆风顺。这就是为什么我决定使用 Ursina 和 python 来制作我的游戏。

但是我想添加一个显示背景故事的过场动画。我有 mp4 格式的视频,但我似乎不知道如何在 Ursina 的游戏中播放它。

任何帮助都感激不尽。(附带问题:你认为 Ursina 适合 3D 游戏的初学者吗?如果我想在我的网站上发布我的游戏,我学习 javascript 不是更好吗?我阅读了 Unity,但它太大而无法下载对于一个小项目)

4

3 回答 3

0

好吧,我认为没有办法做到这一点。您可以做的最接近的事情是在一个文件夹中填充 .png 或 .jpg 文件中的所有视频帧,然后向世界添加一个四边形,并每隔几分之一秒将其纹理更改为下一帧取决于帧率。但是,这会使您的计算机滞后。相信我,我已经试过了。最好有一个带有某种模块的单独窗口,该模块可以播放 .mp4 文件以播放文件。换句话说,没有可行的方法来做到这一点。

于 2021-10-05T13:17:24.560 回答
0

从文档中的实体基础知识:

e4 = Entity(model='cube', texture='movie_name.mp4') # set video texture

于 2021-10-05T14:56:05.310 回答
0

您可以将视频设置为任何元素的纹理。您需要使用其parent属性将其修复到 UI,并且必须从同一文件中单独加载声音(如Panda3D 文档中所述)。

from ursina import *

app = Ursina()

video = 'video.mp4'
video_player = Entity(model='quad', parent=camera.ui, scale=(1.5, 1), texture=video)
video_sound = loader.loadSfx(video)
video_player.texture.synchronizeTo(video_sound)
video_sound.play()

app.run()

上述代码假定视频文件与 Python 脚本位于同一文件夹中。

于 2021-07-09T05:02:14.593 回答