【问题标题】:How to play MP4 with Ursina in Python如何在 Python 中使用 Ursina 播放 MP4
【发布时间】:2021-09-15 18:59:45
【问题描述】:

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

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

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

【问题讨论】:

  • 至于您的附带问题,Ursina 内置了很多东西,但仍需要您进行编码并对各种 3D 概念有很好的理解。这完全取决于你的背景。您无需学习 JavaScript 即可发布您的游戏。

标签: python python-3.x video game-engine ursina


【解决方案1】:

来自文档中的实体基础知识:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    【解决方案3】:

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

    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 脚本位于同一文件夹中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-07
      相关资源
      最近更新 更多