就在昨天,腾讯混元悄悄搞了波大的!
正式开源了 Hunyuan-GameCraft ,一个基于 HunyuanVideo 构建的,在游戏环境中生成高动态交互式视频的新颖框架。
目的只有一个:让你像导演一样'打造'游戏场景!
只需要一张静态场景图,再配上简单的动作信号,比如控制角度、速度的方向键或者 WASD 键,它就能生成一个可交互、物理真实、动态自然的视频场景。
实际效果非常惊艳,一起来看看。
还有这段和 matrix game 的对比。
是不是效果非常不错?
人物能动、物体、光影也跟着变,非常丝滑,完全没有 AI 破绽,给用户提供沉浸式的游戏体验。
外网上也是一致好评。
之所以这么叫座的主要原因是传统游戏内容生产的三大难题:动作僵硬、场景静态,长期一致性差,还有生产成本高,都被它一一解决。
首先是高动态。
Hunyuan-GameCraft 将标准键盘输入统一到共享的连续动作空间中,实现对速度和角度的高精度控制。
这让它可以探索复杂的轨迹,克服传统模型僵硬、受限的运动。
它还可以生成动态环境内容,例如移动的云、雨、雪和水流。
然后是长期一致性。它使用混合历史条件在发生重大移动后保留原始场景信息。
最后是显著降低了创作成本。
无需昂贵的建模/渲染。PCM 蒸馏压缩了推理步骤,提升速度并降低成本。这使得量化的 13B 模型能够在 RTX 4090 等消费级 GPU 上运行。
这样王炸的效果是怎么实现的?我们一起来看看。
项目主页:
https://hunyuan-gamecraft.github.io
GitHub:
https://github.com/Tencent-Hunyuan/Hunyuan-GameCraft-1.0
技术报告:
https://arxiv.org/abs/2506.17201
Hugging Face:
https://huggingface.co/tencent/Hunyuan-GameCraft-1.0
一、技术原理
首先,对于前面实现的 3 大优势,实现的原理如下:
高动态:为了实现细粒度的动作控制,团队将标准键盘和鼠标输入统一到共享的摄像机表示空间中,从而促进各种摄像机和移动操作之间的平滑插值。
长期一致性团队提出了一种混合历史条件训练策略,该策略可以自回归地扩展视频序列,同时保留游戏场景信息。
降低成本:团队实现了模型蒸馏以减少计算开销,同时保持长时间序列的一致性,使其适合在复杂的交互环境中实时部署。
算法架构
再一起来看看 Hunyuan-GameCraft 的整体架构:
给定参考图像及其对应的提示、将游戏中常见的各种键盘 / 鼠标选项(W、A、S、D、↑、←、↓、→、Space 等)统一到共享的相机表示空间。
接着,团队设计了一个轻量级的动作编码器来编码输入的相机轨迹。动作和图像特征在 patchify 之后添加。
团队提出了一种混合历史条件视频扩展方法,该方法对历史去噪块条件下的新噪声潜在特征进行自回归去噪。
最后,为了加快推理速度并提升交互体验,团队基于阶段一致性模型实现了模型蒸馏。通过模型蒸馏,推理速度提高了 10 到 20 倍,并将延迟降低到每个动作 5 秒以内。
数据集构建
Hunyuan-GameCraft 团队精选了超过 100 款 AAA 级游戏,例如《刺客信条》、荒野大镖客:救赎》 和《赛博朋克 2077》,以创建一个具有高分辨率图形和复杂交互的多样化数据集。
其端到端数据处理框架包含四个阶段:场景和动作感知数据分区、数据过滤、交互注释和结构化字幕。
旨在解决带注释的游戏数据稀缺问题,同时为摄像机控制的视频生成建立新的标准。
实验
实施细节
实验在 192 块 NVIDIA H20 GPU 上进行全参数训练,分两个阶段进行,批次大小为 48 。
第一阶段使用所有收集的游戏数据和合成数据,按原始比例训练模型,学习率为 ,迭代 3 万次。
第二阶段引入数据增强技术,平衡动作分布,同时将学习率降低至 ,再进行 2 万次迭代,以提高生成质量和交互性能。
评估指标
指标体系:
视觉质量:FVD、Image Quality、Aesthetic
时间一致性:Temporal Consistency
动态性:把 VBench 的动态度指标改为光流幅值的连续 "Dynamic Average"
推断速度
从结果中可以看到:Hunyuan-GameCraft 更真实、更动态、控制更准,视频质量、时间一致性、动作准确、动态性等维度均获最高平均排名分。
不得不说,Hunyuan-GameCraft 称得上是 AI 游戏发展的一座里程碑了。
接下来,让我们一起上手看看吧~
二、快速上手
注意,项目要求支持 CUDA 的 NVIDIA GPU 。
显存最低要求为 24GB ,但速度会非常慢。官方建议使用具有 80GB 内存的 GPU 以获得更好的生成质量。
P.S. GPU 扛不动的小伙伴可以等一波,据小道消息说过几天会上云端 demo 供体验。
依赖项安装
首先克隆存储库:
git clone https://github.com/Tencent-Hunyuan/Hunyuan-GameCraft-1.0.git
cd Hunyuan-GameCraft-1.0
Linux 安装指南
我们建议使用 CUDA 12.4 版本进行手动安装。
# 1. Create conda environment
conda create -n HYGameCraft python==3.10
# 2. Activate the environment
conda activate HYGameCraft
# 3. Install PyTorch and other dependencies using conda
conda install pytorch==2.5.1 torchvision==0.20.0 torchaudio==2.5.1 pytorch-cuda=12.4 -c pytorch -c nvidia
# 4. Install pip dependencies
python -m pip install -r requirements.txt
# 5. Install flash attention v2 for acceleration (requires CUDA 11.8 or above)
python -m pip install ninja
python -m pip install git+https://github.com/Dao-AILab/flash-attention.git@v2.6.3
另外,您也可以使用 HunyuanVideo 的 Docker 镜像。使用以下命令拉取并运行该 Docker 镜像。
# For CUDA 12.4 (updated to avoid float point exception)
docker pull hunyuanvideo/hunyuanvideo:cuda_12
docker run -itd --gpus all --init --net=host --uts=host --ipc=host --name hunyuanvideo --security-opt=seccomp=unconfined --ulimit=stack=67108864 --ulimit=memlock=-1 --privileged hunyuanvideo/hunyuanvideo:cuda_12
pip install diffusers==0.34.0 transformers==4.54.1
下载预训练模型
所有模型默认存放在 Hunyuan-GameCraft-1.0/weights
中,文件结构如下
Hunyuan-GameCraft-1.0
├──weights
│ ├──gamecraft_models
│ │ │──mp_rank_00_model_states.pt
│ │ │──mp_rank_00_model_states_distill.pt
│ │──stdmodels
│ │ ├──vae_3d
│ │ │ │──hyvae
│ │ │ │ ├──pytorch_model.pt
│ │ │ │ ├──config.json
│ │ ├──llava-llama-3-8b-v1_1-transformers
│ │ │ ├──model-00001-of-00004.safatensors
│ │ │ ├──model-00002-of-00004.safatensors
│ │ │ ├──model-00003-of-00004.safatensors
│ │ │ ├──model-00004-of-00004.safatensors
│ │ │ ├──...
│ │ ├──openai_clip-vit-large-patch14
下载 Hunyuan-GameCraft-1.0 模型
要下载 HunyuanCustom 模型,请先安装 huggingface-cli。
python -m pip install "huggingface_hub[cli]"
然后使用以下命令下载模型:
# Switch to the directory named 'Hunyuan-GameCraft-1.0/weights'
cd Hunyuan-GameCraft-1.0/weights
# Use the huggingface-cli tool to download HunyuanVideo-Avatar model in HunyuanVideo-Avatar/weights dir.
# The download time may vary from 10 minutes to 1 hour depending on network conditions.
huggingface-cli download tencent/Hunyuan-GameCraft-1.0 --local-dir ./
在多个 GPU 上进行并行推理
例如使用 8 块 GPU 生成视频,可以使用如下命令,其中 --action-list wsda
模拟键盘操作信号,帮你生成相应内容的视频。 --action-speed-list 0.2 0.2 0.2 0.2
代表位移距离,可以替换为 0~3 之间的任意值, action-speed-list 的长度必须与 action-list
的长度一致:
#!/bin/bash
JOBS_DIR=$(dirname $(dirname "$0"))
export PYTHONPATH=${JOBS_DIR}:$PYTHONPATH
export MODEL_BASE="weights/stdmodels"
checkpoint_path="weights/gamecraft_models/mp_rank_00_model_states.pt"
current_time=$(date "+%Y.%m.%d-%H.%M.%S")
modelname='Tencent_hunyuanGameCraft_720P'
torchrun --nnodes=1 --nproc_per_node=8 --master_port 29605 hymm_sp/sample_batch.py \
--image-path "asset/village.png" \
--prompt "A charming medieval village with cobblestone streets, thatched-roof houses, and vibrant flower gardens under a bright blue sky." \
--add-pos-prompt "Realistic, High-quality." \
--add-neg-prompt "overexposed, low quality, deformation, a poor composition, bad hands, bad teeth, bad eyes, bad limbs, distortion, blurring, text, subtitles, static, picture, black border." \
--ckpt ${checkpoint_path} \
--video-size 704 1216 \
--cfg-scale 2.0 \
--image-start \
--action-list w s d a \
--action-speed-list 0.2 0.2 0.2 0.2 \
--seed 250160 \
--infer-steps 50 \
--flow-shift-eval-video 5.0 \
--save-path './results/'
此外,我们支持 FP8 优化和 SageAttn 。要启用 FP8,只需在命令中添加 --use-fp8
即可。然后使用以下命令安装 SageAttention:
git clone https://github.com/thu-ml/SageAttention.git
cd SageAttention
python setup.py install # or pip install -e .
我们还提供加速模型,您可以使用以下命令:
#!/bin/bash
JOBS_DIR=$(dirname $(dirname "$0"))
export PYTHONPATH=${JOBS_DIR}:$PYTHONPATH
export MODEL_BASE="weights/stdmodels"
checkpoint_path="weights/gamecraft_models/mp_rank_00_model_states_distill.pt"
current_time=$(date "+%Y.%m.%d-%H.%M.%S")
modelname='Tencent_hunyuanGameCraft_720P'
torchrun --nnodes=1 --nproc_per_node=8 --master_port 29605 hymm_sp/sample_batch.py \
--image-path "asset/village.png" \
--prompt "A charming medieval village with cobblestone streets, thatched-roof houses, and vibrant flower gardens under a bright blue sky." \
--add-neg-prompt "overexposed, low quality, deformation, a poor composition, bad hands, bad teeth, bad eyes, bad limbs, distortion, blurring, text, subtitles, static, picture, black border." \
--ckpt ${checkpoint_path} \
--video-size 704 1216 \
--cfg-scale 1.0 \
--image-start \
--action-list w s d a \
--action-speed-list 0.2 0.2 0.2 0.2 \
--seed 250160 \
--infer-steps 8 \
--use-fp8 \
--flow-shift-eval-video 5.0 \
--save-path './results_distill/'
低 VRAM 推理的单 GPU
例如,要使用 1 个具有低 VRAM(超过 24GB)的 GPU 生成视频,可以使用以下命令:
#!/bin/bash
JOBS_DIR=$(dirname $(dirname "$0"))
export PYTHONPATH=${JOBS_DIR}:$PYTHONPATH
export MODEL_BASE="weights/stdmodels"
checkpoint_path="weights/gamecraft_models/mp_rank_00_model_states.pt"
current_time=$(date "+%Y.%m.%d-%H.%M.%S")
modelname='Tencent_hunyuanGameCraft_720P'
# disable sp and cpu offload
export DISABLE_SP=1
export CPU_OFFLOAD=1
torchrun --nnodes=1 --nproc_per_node=1 --master_port 29605 hymm_sp/sample_batch.py \
--image-path "asset/village.png" \
--prompt "A charming medieval village with cobblestone streets, thatched-roof houses, and vibrant flower gardens under a bright blue sky." \
--add-neg-prompt "overexposed, low quality, deformation, a poor composition, bad hands, bad teeth, bad eyes, bad limbs, distortion, blurring, text, subtitles, static, picture, black border." \
--ckpt ${checkpoint_path} \
--video-size 704 1216 \
--cfg-scale 2.0 \
--image-start \
--action-list w a d s \
--action-speed-list 0.2 0.2 0.2 0.2 \
--seed 250160 \
--sample-n-frames 33 \
--infer-steps 50 \
--flow-shift-eval-video 5.0 \
--cpu-offload \
--use-fp8 \
--save-path './results/'
三、最后
Hunyuan-GameCraft 的低门槛和开放性确保个人创作者也能生产 3A 级动态内容,让你无需专业建模和渲染知识。
这也注定了它的广泛适用性,无论是游戏开发者、视频创作者还是 3D 设计师,都能派上用场。
感兴趣的小伙伴赶紧去看看吧~
>/ 本期作者:Tashi & JackCui
>/ JackCui:AI领域从业者,毕业于东北大学,大厂算法工程师,热爱技术分享。
没有评论:
发表评论