// Use this for initialization void Start() { data = new BodySegmentMeshData(length, radiusA, radiusB, roundnessA, roundnessB, angleA, angleB, heightSegments, radialSegments); script = gameObject.AddComponent <BodySegmentMesh>(); filter = gameObject.AddComponent <MeshFilter>(); renderer = gameObject.AddComponent <MeshRenderer>(); renderer.material = new Material(Shader.Find("Diffuse")); filter.sharedMesh = script.BuildMesh(data); }
/* * GameObject BuildLeg(string objectName, Transform parentHipNode, LegData data) {return BuildLeg(objectName, parentHipNode, Vector3.zero,data);} * * GameObject BuildLeg(string objectName, Transform parentHipNode, Vector3 offset, LegData data) { * * GameObject newLeg = new GameObject(objectName); * newLeg.transform.parent = gameObject.transform; * newLeg.transform.localPosition = Vector3.zero; * * LegScript newLegScript = newLeg.AddComponent<LegScript>(); * newLegScript.InitialiseLeg(offset,data); * * return newLeg; * } */ GameObject NewBodySegment(BodySegmentMeshData data, string name) { GameObject newObject = new GameObject(name); BodySegmentMesh meshScript = newObject.AddComponent <BodySegmentMesh>(); MeshFilter filter = newObject.AddComponent <MeshFilter>(); MeshRenderer renderer = newObject.AddComponent <MeshRenderer>(); renderer.material = defaultMat; filter.sharedMesh = meshScript.BuildMesh(data); return(newObject); }
//GameObject AttachNewBodyPart(string name, Vector3 offset, Quaternion rotation, float length, float upperWidth, float lowerWidth, // float roundnessA, float roundnessB, float angleA, float angleB, int heightSegments, int radialSegments) { public GameObject AttachNewBodyPart(string name, Vector3 offset, Quaternion rotation, BodySegmentMeshData data) { GameObject newPart = NewChild(name); newPart.transform.localPosition = offset; newPart.transform.rotation = rotation; MeshFilter filter = newPart.AddComponent <MeshFilter>(); MeshRenderer renderer = newPart.AddComponent <MeshRenderer>(); BodySegmentMesh meshScript = newPart.AddComponent <BodySegmentMesh>(); filter.sharedMesh = meshScript.BuildMesh(data); renderer.material = new Material(Shader.Find("Diffuse")); return(newPart); }
void AttachBodyPart(Transform parent, BodySegmentMeshData data) { MeshFilter filter = parent.GetComponent <MeshFilter>(); MeshRenderer renderer = parent.GetComponent <MeshRenderer>(); BodySegmentMesh meshScript = parent.GetComponent <BodySegmentMesh>(); if (filter == null) { filter = parent.gameObject.AddComponent <MeshFilter>(); } if (renderer == null) { renderer = parent.gameObject.AddComponent <MeshRenderer>(); } if (meshScript == null) { meshScript = parent.gameObject.AddComponent <BodySegmentMesh>(); } filter.sharedMesh = meshScript.BuildMesh(data); renderer.material = defaultMat; }