Тайна счета вершин FBX - PullRequest
       0

Тайна счета вершин FBX

0 голосов
/ 27 января 2020

У меня есть модель персонажа со скином, которая импортирована из файла FBX. В режиме игры статистика показывает, что эта модель имеет 13,5 тыс. Вершин. С приложенным ниже сценарием статистика показывает, что модель использует только 4.4k вершин.

Сценарий добавляет SkinnedMeshRenderer к игровому объекту модели, а затем копирует все соответствующие данные me sh из исходного SkinnedMeshRenderer (дочернего объекта gameobject ) к вновь добавленному.

В исходной модели есть несколько одинаковых материалов (кроме волос), а в копии просто используется один материал (выглядит нормально, за исключением волос, конечно).

Может кто-нибудь объяснить, почему копия имеет намного меньшее количество вершин, чем оригинал?

using UnityEngine;

public class CopyMesh : MonoBehaviour
{
    void Start()
    {
        // original

        SkinnedMeshRenderer originalSkin = transform.GetComponentInChildren<SkinnedMeshRenderer>();
        Mesh originalMesh = originalSkin.sharedMesh;

        // copy

        SkinnedMeshRenderer copySkin = transform.gameObject.AddComponent<SkinnedMeshRenderer>();
        Mesh copyMesh = new Mesh();

        // set up copy's SkinnedMeshRenderer

        copySkin.sharedMesh = copyMesh;
        copySkin.material = originalSkin.materials[0];
        copySkin.bones = originalSkin.bones;
        copySkin.rootBone = originalSkin.rootBone;

        // copy over required vertex data

        copyMesh.bindposes = originalMesh.bindposes;
        copyMesh.vertices = originalMesh.vertices;
        copyMesh.normals = originalMesh.normals;
        copyMesh.uv = originalMesh.uv;
        copyMesh.boneWeights = originalMesh.boneWeights;
        copyMesh.triangles = originalMesh.triangles;

        // disable original SkinnedMeshRenderer so that only the copy shows up

        originalSkin.enabled = false;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...