Shap-E是一个生成3D资产的条件模型,可用于视频游戏开发、室内设计和建筑。它在3D资产的大型数据集上进行训练,并进行后处理以渲染每个对象的更多视图,并生成16K而不是4K的点云。Shap-E模型分两个步骤进行训练:
编码器接受3D资产的点云和渲染视图,并输出表示该资产的隐式函数的参数
在编码器产生的潜伏时间上训练扩散模型,以生成神经辐射场(NeRF)或纹理化的3D网格,从而更容易在下游应用中渲染和使用3D资产
本指南将向您展示如何使用Shap-E开始生成您自己的3D资产!
开始之前,请确保已安装以下库:
#!pip install -q diffusers transformers accelerate trimesh
import os os.environ["HF_ENDPOINT"] = "https://hf-mirror.com" mport torch from diffusers import ShapEPipeline device = torch.device("cuda" if torch.cuda.is_available() else "cpu") pipe = ShapEPipeline.from_pretrained("openai/shap-e", torch_dtype=torch.float16, variant="fp16") pipe = pipe.to(device) guidance_scale = 15.0 prompt = ["A firecracker", "A birthday cupcake"] images = pipe( prompt, guidance_scale=guidance_scale, num_inference_steps=64, frame_size=256, ).images from diffusers.utils import export_to_gif export_to_gif(images[0], "firecracker_3d.gif")
export_to_gif(images[1], "cake_3d.gif")
这个案例输出了两个简单的3D效果的动画。