All

Procedural Generation of Roads

https://perso.liris.cnrs.fr/eric.galin/Articles/2010-roads.pdf         Abstract     In this paper, we propose an automatic method for generating roads based on a …

All

Maya Blendshape 制作

首先需要两个拓扑完全一致的模型。     在制作的时候,一般都是在一个基础模型的基础上面,复制出新的模型,然后再调整点的位置,这样就完成了两个拓扑完全一致的模型的制作。     然后首先选中已经变形的模型,再选中基础模型; 然后点击制作模型的按钮; 这样就完成了BS的生成。     然后我们选中基础模型; 点击开启调节面板; 就会开启调节面板,可以调节数值来观察变形效果。                 …

All

人脸 Mean+PCA 实验

    实验完全基于COMA这份代码,原因是这里面有完整的整个人头的数据库,以及PCA相关的代码,因此只要在这个基础上尝试去实现自己的所想即可。 https://github.com/anuragranj/coma     首先我们要找到一份实现了读取和存储网格数据的代码,最好还包括实时展示。computeModels.py 是合适选择,做适当的修改即可实现其包含的意义,主要就是展示结果模型的比较。     代码分析:     首先是terminal数据输入的支持,这边要注意的是选择的数据,输入的格式如default所示。     然后是最重要的FaceData数据类型的初始化。 这边要输入的是训练和测试数据集,以及模板模型。我们深入去看facedata数据类型的构成你会发现,这个数据类型里面产生的数据 std, mean, pca 等等全部是根据train数据来生成的,模板模型唯一的作用就是提供face信息。这也就是为什么改动.obj文件对结果没有影响。 …

All

Mesh Deform 的一些参考

这边从实现角度出发,看可以参考哪些来做。 主要来源: https://github.com/timzhang642/3D-Machine-Learning         Deep learning 处理三维数据,想要实现三角形网格deformation,近期的研究发展如下:     CNN对于处理图片这样的像素类结构数据是有效的,但是三维网格具有特殊的拓扑结构,不能直接使用用于图片的训练模型结构。因此首先大家想到的是将三维结构类二维化处理,最后得到三维结果。主要方式分为两类: 一种是将三维网格直接拉成2D的平面形式,这个在图形学上面有方法实现,然后再直接处理平面数据; 一种是三维网格体素化或者点云化,然后处理体素,点云;因为体素点云的数据量大,而且其主要有意义的单位都是表示表面的体素或者点云,因此后续的paper都是在优化数据结构来使得可以同时处理更多的体素单元,让用这种方式处理的分辨率更高。     当然大家最希望的就是直接处理三角形网格,这边的方法思路大致可以分为两类: 一类是训练模型处理的还是图片数据或者体素或者点云,其结果用来使得网格模型做变换;比如最多的就是利用FFD来实现。【FFD: Learning Free-Form Deformations …

All

一些人脸重建的paper

Self-Supervised Multi-level Face Model Learning for Monocular Reconstruction at Over 250 Hz     本文由马克斯–普朗克研究所和斯坦福大学等机构合作完成,是 CVPR 2018 的 oral 文章。为了提升单张图片重建 3D 脸部模型的效果,该论文采用了多层次的脸部结构重建方法,作者把传统的基于参数化 …

All

网格生成优化

基于Greedy Mesh算法来生成网格,减少网格点的数量。 https://github.com/roboleary/GreedyMesh https://github.com/barraudf/Unity-Voxel     方法的效果视频: https://www.youtube.com/watch?v=0OZxZZCea8I         当前的网格生成渲染流程如下图所示,明显的就是两个方法,首先是生成网格,然后是渲染网格。     NormalBlockMeshGen.cpp 里面实现了基于体素块生成网格的方法。 void NormalBlockMeshGen::GenMeshImpl(AGE::uint16 *normalblocks, AGE::uint32 *pointlightblocks, …

All

Fast 3D Triangle-Box Overlap Testing

http://fileadmin.cs.lth.se/cs/Personal/Tomas_Akenine-Moller/code/tribox_tam.pdf     A fast routine for testing whether a triangle and a box are overlapping in three dimensions is presented. The …

All

no weight blend Layer 支持

        原来的实现,文档中是这么写的:     By default, heightfield masks will be converted to weight-blended landscape layers. If you want some …

All Houdini Unreal Engine 4

Houdini 大地形导入 Unreal 的两种方法

    仅仅修改Houdini文件即可实现的方法     网络上很多文章都有说明,如果我们在Houdini这一测使用其提供的TileSplit节点的时候,是可以在Unreal里面一次性生成多张地图,其效果如下: 但是这里存在两个问题: 这不是正确的Unreal里面使用流式加载地形的正确方式。 不同地形之间的接缝是很难消除的,因为他们隶属于不同的高度图,高度图生成地形还要基于采样生成模型,这个过程对于不同的高度图之间,他们是不会考虑相互影响的,因此总会存在下列情况。     因此从Unreal的角度出发,如何来实现大地形。Unreal默认就提供了可以根据多张切好的高度图来生成大地形的工具,我们可以借用这个工具,让Houdini直接输出切好的地形高度图即可实现。     Houdini这一侧的做法,如下图所示,如要注意的如下: 采用heightfield_output节点作为输出 保证输出的图片的格式是Unreal可以读取的高度图格式,也就是单通道的16比特浮点数据 对高度图做切分,但是一定要保证切分的高度图之间的TilePverlap数值为1 得到的文件效果图,注意这里的自动命名正好是Unreal可识别的命名方式。       …

All Unreal Engine 4

Unreal 编辑器扩展

    UI系统区分     UMG,虚幻运动图形界面设计器(Unreal Motion Graphics UI Designer) 一个可视化的UI创作工具,用来创建UI元素,如游戏中的HUD、菜单或其它界面相关元素。 设计器(Designer)选项卡允许界面和基本函数的可视化布局 图表(Graph)选项卡提供所使用控件背后的功能。 可以暴露于BP     Slate ,虚幻引擎中的自定义用户界面系统。 主要用于编辑器的实现 在游戏中也可以使用 只能应用于C++   …