3D头模加载

2024-04-29 10:36
文章标签 3d 头模 加载

本文主要是介绍3D头模加载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

psbody加载

psbody示例

trimesh加载

加载动画:

openmesh


psbody加载

codetalker

from psbody.mesh import Meshif cfg.dataset == "BIWI":template_file = os.path.join(cfg.data_root, "BIWI.ply")elif cfg.dataset == "vocaset":template_file = os.path.join(cfg.data_root, "FLAME_sample.ply")print("rendering: ", test_name)template = Mesh(filename=template_file)

psbody示例

from psbody.mesh import Mesh
from psbody.mesh.meshviewer import MeshViewertemplate_file = r'BIWI/BIWI.ply'
template_file = r'E:\project\audio\audio2face\CodeTalker-main\vocaset\FLAME_sample.ply'
# template_file = r'E:\project\audio\audio2face\CodeTalker-main\BIWI\BIWI.ply'target_mesh = Mesh(filename=template_file)
target_mesh.set_vertex_colors('white')
viewer = MeshViewer()
# viewer.set_background_color((1.0, 1.0, 1.0),blocking=False)viewer.set_static_meshes([target_mesh], blocking=True)
# viewer.set_dynamic_meshes(target_mesh)
viewer.set_background_color((1.0, 1.0, 1.0))
viewer.show()

这个显示是黑屏,不能显示物体

trimesh加载

FaceDiffuser

import trimeshif __name__ == '__main__':template_file=f"data/BIWI/templates/face_template.obj"ref_mesh = trimesh.load_mesh(template_file, process=False)scene = trimesh.scene.scene.Scene([ref_mesh])# 显示场景scene.show()

报错:

ImportError: `trimesh.viewer.windowed` requires `pip install "pyglet<2"`

解决方法:

pip install "pyglet<2"

加载动画:


import trimeshimport numpy as npdef load_mesh(file_path):"""加载PLY文件并返回网格对象。"""return trimesh.load(file_path, process=False)def apply_smile(mesh, intensity=0.5):"""模拟微笑通过向上移动模型嘴角附近的顶点。"""# 假设嘴角的顶点索引已知mouth_corner_indices = [1500, 2300]  # 示例索引,需要根据实际模型调整movement = np.array([0, intensity, 0])  # 向上移动for idx in mouth_corner_indices:print(f"Vertex_o {idx}: {mesh.vertices[idx]}")  # 打印原始顶点位置# 更新嘴角顶点位置for idx in range(mouth_corner_indices[0],mouth_corner_indices[1]):mesh.vertices[idx] += movementfor idx in mouth_corner_indices:print(f"Vertex {idx}: {mesh.vertices[idx]}")  # 打印更新后的顶点位置
def main():# 路径替换为你的PLY文件路径mesh = load_mesh(r'E:\BIWI.ply')# 应用微笑表情变换apply_smile(mesh, intensity=0.1)  # 强度根据模型尺度调整# 使用trimesh提供的简单pyglet窗口显示结果mesh.show()if __name__ == "__main__":main()

openmesh

pip install openmesh

win11直接安装报错

从巴塞尔面模型 (BFM) 转换为 FLAME 头部模型

https://github.com/TimoBolkart/BFM_to_FLAME

这篇关于3D头模加载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/945857

相关文章

springmvc源码解析之配置加载SpringServletContainerI...

用SpringMVC源码解析之配置加载SpringServletContainerInitializer 用SpringMVC配置解析 sdervlet容器启动的时候会加载org.springframework.web.SpringServletContainerInitializer这个类,调用初始化类的onStartup方法   [AppleScript] 纯文本查

3D分子生成的定制扩散框架 MolDiff - 评测

MolDiff模型是一种考虑分子键生成的3D分子生成的新模型。MolDiff是清华大学智能产业研究院马剑竹课题组发表在PMLR 2023的工作,第一作者是Xingang Peng,文章题目为:《 Addressing the Atom-Bond Inconsistency Problem in 3D Molecule Generation 》。MolDiff的文章链接:https://arxi

Android ListView 加载图片如何解决多张地址一样会导致部分图片加载不了的问题

导致图片无法显示的根本原因在于多个同样地址的图片由于采用异步形式,导致耗时长去请求的线程回调时通过imageview 绑定的tag 没等找到 对应的imageview ,所以出现了部分图没加载的现象; 所以为了解决此问题,添加了一个类似缓存的map 存储当时发出请求没能在缓存找到的imageview 按照 地址:images 形式临时存储;等线程取到图片后取出对应的images 一一复制,清空缓

【JVM基础篇】类加载器分类介绍

文章目录 类加载器什么是类加载器类加载器的作用是什么应用场景类加载器的分类启动类加载器用户扩展基础jar包 扩展类加载器和应用程序类加载器扩展类加载器通过扩展类加载器去加载用户jar包: 应用程序加载器 Arthas中类加载器相关功能 文章说明 类加载器 什么是类加载器 类加载器(ClassLoader)是Java虚拟机提供给应用程序去实现获取类和接口字节码数据的技术

记一次使用frameset/frame布局的后台,谷歌浏览器加载出现空白的奇葩问题

问题描述: 刷新谷歌(其他浏览器暂时都一切正常)浏览器,请求一个链接地址,frame标签做的布局。右侧部分出现空白。 这个问题已经出现好久了,今天抽时间排查了一下,先是问前端开发,再是通过网上查询试图来解决,结果失败。 看来,不是什么文件编码的问题。 却单单是就几个url 第一次请求的时候出现这样的问题。 页面虽空白,但页面中的一些元素却是存在的(很诡异)。 如图: 打开浏览器

【Threejs进阶教程-算法篇】1.常用坐标系介绍与2d/3d随机点位算法

2d/3d随机算法 学习ThreeJS的捷径坐标系简介平面直角坐标系和极坐标系空间直角坐标系圆柱坐标系球坐标系球坐标系与直角坐标系的转换 基于坐标系系统的随机点位算法平面直角坐标系随机平面直角坐标系随机的变形 空间直角坐标系随机二维极坐标系随机圆柱坐标系随机基于Cylindercal(圆柱坐标系)的圆柱坐标系随机球坐标系随机 随机算法的应用土星环(使用极坐标系)粒子球(使用球坐标系)

React 之 lazy(延迟加载)(十七)

lazy 能够让你在组件第一次被渲染之前延迟加载组件的代码。 在组件外部调用 lazy,以声明一个懒加载的 React 组件: import { lazy } from 'react';const MarkdownPreview = lazy(() => import('./MarkdownPreview.js')); 配合 Suspense 实现懒加载组件 //App.jsimp

WPS加载项(wps jsapi)创建、发布及部署

安装wpsjs及其他具体细节参考WPS加载项官网地址https://open.wps.cn/previous/docs/client/wpsLoad 1,试验环境 node 20.12.1 npm 10.7.0 wpsjsrpcsdk.js,改动时间:2022-11-28 19:06, 大小80.2 KB (82,192 字节)  wps,WPSPro_11.8.2.12195.exe 浏览器,

AI预测福彩3D采取887定位策略+杀断组+杀和尾+杀和值012缩水测试5月12日预测第1弹

前段时间工作太忙,手头上各种事情较多,没有静下心来对我的AI模型预测结果进行进一步分析筛选,导致最近连续几期与实际开奖结果相差较大。当然,客观来说,搞6码定位的确难度比较大,昨天跟几个常年研究3D的彩友进行了深入交流,大家都说6码定位的难度极大,相当于每位杀4码,目前能做到每位杀2码就已经算是高手了,因此,大家让我转变下策略,可以杀2-3码,如果2-3码稳定的话,可以再结合几个条件

3D 生成重建010-SyncDreamer从单视图生成一致性的多视图

3D 生成重建010-SyncDreamer从单视图生成一致性的多视图 文章目录 0论文工作1论文方法2 效果 0论文工作 在zero123中,首先探索了给2d图像扩散模型注3d空间感知能力。可以将原图输入模型,通过相机位置的相对偏移生成对应的新视图。 这篇论文就是在zero123的基础上进行调整根据输入图像生成多视图。在LucidDreamer等论文中,在