
想找 Zero123 的开源代码?它的官方仓库在 GitHub 上,直接用这个命令就能克隆:
git clone https://github.com/cvlab-columbia/zero123.git
,克隆完进入目录cd zero123
就能开始研究啦。要是你需要预训练模型,仓库里也有相关说明,按照步骤下载就行。另外,还有个镜像仓库在 Gitcode,地址是https://gitcode.com/gh_mirrors/ze/zero123
,如果 GitHub 访问不太方便,这里也是个不错的选择。Zero123 的在线演示特别方便,直接打开 Hugging Face 的空间页面就能用。它的功能可强大了,能根据单张图像生成多视角图像,还能进行 3D 网格重建。比如你上传一张物体的图片,它就能生成从不同角度看这个物体的图像,甚至能重建出 360 度的 3D 网格。操作也很简单,按照页面上的提示一步步来,很快就能看到效果。
在进行 3D 创作时,纹理优化能大大提升效率。首先是纹理分辨率调整,尽量用低分辨率的纹理,只要不影响视觉效果就行。比如一个大的地面纹理,没必要用特别高的分辨率,适当降低能减少内存占用和加载时间。
THREE.KTX2Loader
就能加载这些格式的纹理,能显著提升性能。Mipmapping 和各向异性过滤也不能忽视。启用 Mipmapping 可以减少纹理在远距离或斜角查看时的失真,各向异性过滤能让纹理在不同角度下都更清晰,这两个功能默认是开启的,但在一些情况下可能需要手动检查一下。
THREE.SimplifyModifier
来简化网格。还能利用 LOD 技术,根据物体距离摄像机的远近加载不同精度的模型,这样能减少远距离模型的计算量。有个团队在开发游戏时,场景里有大量的树木和草地。他们用了实例化网格
THREE.InstancedMesh
,把重复的网格对象一次性绘制,大大减少了 GPU 的绘制调用次数,游戏的帧率有了明显提升。Open3D 是个不错的 3D 数据处理库,支持纹理映射等功能。你可以用它加载 3D 模型,处理纹理坐标,然后把纹理图像应用到模型上。比如加载一个喷泉模型,调整纹理坐标,让纹理更好地贴合模型表面,最后进行渲染和可视化。