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; }
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; }
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"); } }