Unity3D 用C#代码创建GameObject,并设置mesh和材质

平时我们都是在Unity的软件里新增Cube、Sphere等三维模型,但是很不灵活,形状也比较单一,下面我们用C#代码来实现:

把下面的C# script附着到主摄像头就行

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class mesh10 : MonoBehaviour {

    private GameObject simpleMesh;
    //法线  
    Mesh mesh;

    public bool sophisticated = false;      //圆滑曲面  
    public bool star = true;                //星形  
    public int line = 5;                    //边数  
    public float[] maxsize = { 0, 0, 5, 0, 0 };   //外角大小  
    public float[] minSize = { 0, 0, 1, 0, 0 };   //内角大小  
    public float high = 1;                  //高度  
    public float low = -1;                  //低度  

    private Vector3[] vs;                   //顶点坐标  
    private int[] ts;                       //顶点序列  
    private Vector2[] newUVs;               //UV贴图  
    private Vector3[] newNormals;
    // Use this for initialization
    void Start () {
       simpleMesh = new GameObject();
        // 定义对象名为 Start5
        simpleMesh.name = "Start5";
       simpleMesh.transform.position = new Vector3(688, -30, -645);
        // 添加MeshFilter  
        simpleMesh.AddComponent<MeshFilter>();
        // 添加MeshRenderer  
        simpleMesh.AddComponent<MeshRenderer>();
        // 创建shader为Unlit/shader7的Material
        Material simpleMaterial = new Material(Shader.Find("Unlit/shader7"));
        simpleMesh.GetComponent<MeshRenderer>().material = simpleMaterial;

    }
	
    void setMesh()
    {
        line = Mathf.Clamp(line, 2, 300);
        high = Mathf.Clamp(high, low, high);
        low &
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值