Пример #1
0
 // 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);
 }
Пример #2
0
    /*
     * 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);
    }
Пример #3
0
    //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);
    }
Пример #4
0
    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;
    }