You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ursina引擎中实现视频纹理播放后停止循环并移除

Ursina引擎实现开场视频播放完毕后自动移除

在Ursina中用视频作为Entity纹理时,直接给Entity加loop=False参数无效,因为该参数不属于Entity的属性,需要直接操作视频纹理对象控制循环,同时监听播放状态,在结束时销毁实体。

你的原始代码

from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController

app = Ursina()

# ==================================Windows===============================================

window.fullscreen_resolution = (1920, 1080)
window.fullscreen = True
window.exit_button.visible = False

#================================== menu ================================================
video = Entity(model='cube', texture='assets/ui/intro.mp4', parent=camera.ui, scale=(1.79, 1, 0))
videoaudio = Audio('assets/ui/intro.mp3')
# ================================= Hangar A =============================================

hangara = Entity(model='assets/map/hangara.fbx', collider='mesh')

app.run()

解决方法

  1. 获取视频纹理对象,设置其loop属性为False
  2. 添加update函数,每帧检查视频播放进度,结束时销毁视频实体与音频对象

修改后的完整代码:

from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController

app = Ursina()

# ==================================Windows===============================================

window.fullscreen_resolution = (1920, 1080)
window.fullscreen = True
window.exit_button.visible = False

#================================== menu ================================================
video = Entity(model='cube', texture='assets/ui/intro.mp4', parent=camera.ui, scale=(1.79, 1, 0))
# 关闭视频循环
video.texture.loop = False
videoaudio = Audio('assets/ui/intro.mp3')

def update():
    # 检查视频是否播放完毕
    if video.texture.time >= video.texture.duration:
        destroy(video)
        destroy(videoaudio)

# ================================= Hangar A =============================================

hangara = Entity(model='assets/map/hangara.fbx', collider='mesh')

app.run()

说明

  • 视频纹理的time属性实时更新播放进度,duration为视频总时长,当time >= duration时表示播放完成
  • destroy()函数会从场景中移除实体并释放资源,避免视频和音频持续占用内存

内容的提问来源于stack exchange,提问作者ʄօʀɢɨʋɛ ʍɛ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 05:35:13