У вас есть две альтернативы для этого:
Сначала нужно выполнить два шага:
- Преобразовать ваш me sh в текстуру на клин с помощью команды
meshlabserver -i inputMesh.obj -o tmpMesh.obj -m wt
- Примените другие фильтры, используя
meshlabserver -i tmpMesh.obj -o outputMesh.obj -m wt -s myScript.mlx
Второй вариант - сделать все за один шаг, вызвав фильтр Convert PerVertex UV into PerWedge UV
в вашем сценарии mlx перед вызовом Simplification: Quadric Edge ...
, Также предлагаю позвонить Remove Unreferenced Vertices
просто по здравому смыслу.
Попробуйте сохранить этот сценарий в файл с именем textureSimplify.mlx
<!DOCTYPE FilterScript>
<FilterScript>
<filter name="Remove Unreferenced Vertices"/>
<filter name="Convert PerVertex UV into PerWedge UV"/>
<filter name="Simplification: Quadric Edge Collapse Decimation (with texture)">
<Param value="3000" name="TargetFaceNum" description="Target number of faces" isxmlparam="0" tooltip="" type="RichInt"/>
<Param value="0" name="TargetPerc" description="Percentage reduction (0..1)" isxmlparam="0" tooltip="" type="RichFloat"/>
<Param value="0.3" name="QualityThr" description="Quality threshold" isxmlparam="0" tooltip="" type="RichFloat"/>
<Param value="1" name="Extratcoordw" description="Texture Weight" isxmlparam="0" tooltip="" type="RichFloat"/>
<Param value="false" name="PreserveBoundary" description="Preserve Boundary of the mesh" isxmlparam="0" tooltip="" type="RichBool"/>
<Param value="1" name="BoundaryWeight" description="Boundary Preserving Weight" isxmlparam="0" tooltip="" type="RichFloat"/>
<Param value="true" name="OptimalPlacement" description="Optimal position of simplified vertices" isxmlparam="0" tooltip="" type="RichBool"/>
<Param value="true" name="PreserveNormal" description="Preserve Normal" isxmlparam="0" tooltip="" type="RichBool"/>
<Param value="true" name="PlanarQuadric" description="Planar Simplification" isxmlparam="0" tooltip="" type="RichBool"/>
<Param value="false" name="Selected" description="Simplify only selected faces" isxmlparam="0" tooltip="" type="RichBool"/>
</filter>
</FilterScript>
Отредактируйте строку <Param value="3000" name="TargetFaceNum"
, чтобы изменить значение 3000 на нужное количество граней, а затем выполните сценарий, используя команда:
> meshlabserver -i inputMesh.obj -o outputMesh.obj -m wt -s textureSimplify.mlx