Beispiel #1
0
    private void InstantiateHairMesh()
    {
        if (_hairMeshIndex > ca.hairMesh.Length - 1)
        {
            _hairMeshIndex = 0;
        }

        if (pc.hairMount.transform.childCount > 0)
        {
            for (int cnt = 0; cnt < pc.hairMount.transform.childCount; cnt++)
            {
                Destroy(pc.hairMount.transform.GetChild(cnt).gameObject);
            }
        }

        GameObject w = Instantiate(ca.hairMesh[_hairMeshIndex], pc.hairMount.transform.position, Quaternion.identity) as GameObject;

        w.transform.parent   = pc.hairMount.transform;
        w.transform.rotation = new Quaternion(0, 0, 0, 0);

        MeshOffset mo = w.GetComponent <MeshOffset>();

        if (mo == null)
        {
            return;
        }

        Debug.Log("We have a mesh offset");

        w.transform.localPosition = mo.positionOffset;
    }
Beispiel #2
0
    private void LoadHairMesh()
    {
        string path = "Character/Hair/Human/Male/Prefab/";

        GameObject mount = PlayerModelCustomization.characterMesh.GetComponent <PlayerCharacter>().hairMount;

        if (mount.transform.childCount > 0)
        {
            Object.Destroy(mount.transform.GetChild(0).gameObject);
        }

        int hairSet   = hairMeshIndex / 5 + 1;
        int hairIndex = hairMeshIndex % 5 + 1;

        Debug.Log(hairSet + "_" + hairIndex);
        hairStyle = Object.Instantiate(Resources.Load(path + "Hair" + " " + hairSet + "_" + hairIndex), mount.transform.position, mount.transform.rotation) as GameObject;
        hairStyle.transform.parent = mount.transform;

        hairStyle.renderer.material.mainTexture = _hairColorTexture[hairColorIndex];

        MeshOffset mo = hairStyle.GetComponent <MeshOffset>();

        if (mo == null)
        {
            return;
        }

        hairStyle.transform.localPosition = mo.positionOffset;
        hairStyle.transform.localRotation = Quaternion.Euler(mo.rotationOffset);
        hairStyle.transform.localScale    = mo.scaleOffset;
    }
Beispiel #3
0
    private void InstantiateCharacterModel()
    {
        if (transform.childCount > 0)
        {
            for (int cnt = 0; cnt < transform.childCount; cnt++)
            {
                Destroy(transform.GetChild(cnt).gameObject);
            }
        }


        if (_usingMaleModel)
        {
            characterMesh = Instantiate(Resources.Load(MALE_MODEL_PATH + maleModels[_index]), transform.position, transform.rotation) as GameObject;
        }
        else
        {
            characterMesh = Instantiate(Resources.Load(FEMALE_MODEL_PATH + femaleModels[_index]), transform.position, transform.rotation) as GameObject;
        }

        characterMesh.transform.parent = transform;

        MeshOffset mo = characterMesh.GetComponent <MeshOffset>();

        if (mo != null)
        {
            mo.transform.position = new Vector3(
                mo.transform.position.x + mo.positionOffset.x,
                mo.transform.position.y + mo.positionOffset.y,
                mo.transform.position.z + mo.positionOffset.z
                );
        }

        if (characterMesh.GetComponent <Animation>() != null)
        {
            characterMesh.animation["idle1"].wrapMode = WrapMode.Loop;
            characterMesh.animation.Play("idle1");
        }
    }