我有三个网格A,B和C.每个网格都有自己的材质,由单个subMesh组成。现在,我想创建一个新的网格,其中包含例如每个(A,B和C)网格的10个实例,它将包含3个子网格,即每种类型的所有元素的一个子网格。
我使用" Mesh.CombineMeshes(...)"为此目的,它将所有网格组合成一个subMesh或为每个元素创建subMesh(在我的例子中为30个subMeshes)。这两个结果对我来说都是不可接受的。
答案 0 :(得分:3)
您可以先将所有类型A的网格物体组合成网格1,将所有类型B的网格物体组合成网格物体2,将所有类型为C的网格物体组合成网格物体3,并使用from docxtpl import DocxTemplate, RichText
import re
tpl=DocxTemplate('test_tpl.docx')
startsentence = 'Here is a sentence with \textbf{bold words} in the middle of it.'
latexbold = re.compile(r'\textbf\{([a-zA-Z0-9 .]+)\}')
# Strip the latex command.
strippedsentence = re.sub(latexbold, '\\1', startsentence)
rtaddsentence = re.sub(latexbold, 'rt.add(" \\1 ", bold=True)', startsentence)
docxsentence = re.sub(latexbold, '<w:r><w:rPr><w:b/></w:rPr><w:t xml:space="preserve">\\1</w:t></w:r>', startsentence)
richstrippedsentence = RichText(strippedsentence)
richrtaddsentence = RichText(rtaddsentence)
richdocxsentence = RichText(docxsentence)
context = {
'strippedresult': richstrippedsentence,
'rtresult': richrtaddsentence,
'docxresult': richdocxsentence,
}
tpl.render(context)
tpl.save('test.docx')
。
然后,您只需将网格1,2和3组合成单个网格,使用mergeSubMeshes = true
,生成一个包含3个子网格的网格,每个子网格由单个网格构建,如您所愿。 / p>
MeshFilter.sharedMesh可用于按类型对网格进行分组。
以下是代码:
mergeSubMeshes = false