Mesh绘制网格(摇奖机简易版)

创建一个空对象,创建出来3D圆形,代码如下:

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

public class Circle : MonoBehaviour
{
    public Mesh sphere;
    public GameObject Spheres;
    // Start is called before the first frame update
    void Start()
    {
        Spheres.SetActive(true);
        Mesh mesh=new Mesh();
        List<Vector3> vertices = new List<Vector3>();
        List<Vector3> normals = new List<Vector3>();
        List<Vector2> uv = new List<Vector2>();
        for (int i = 0; i < sphere.vertices.Length; i++)
        {
            vertices.Add(sphere.vertices[i]);
            normals.Add(sphere.normals[i]);
            uv.Add(sphere.uv[i]);
        }
        mesh.vertices = vertices.ToArray();
        mesh.normals = normals.ToArray();
        mesh.uv = uv.ToArray();

        List<int>  trianles = new List<int>();
        for (int i = 0; i < sphere.triangles.Length; i+=3)
        {
            trianles.Add(sphere.triangles[i]);
            trianles.Add(sphere.triangles[i + 2]);
            trianles.Add(sphere.triangles[i + 1]);
        }
        mesh.triangles = trianles.ToArray();
        GetComponent<MeshFilter>().mesh = mesh;
        GetComponent<MeshCollider>().sharedMesh = mesh;

    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

随后在创建一个空对象,这个空对象是用来生成圆形3D模型的,也就是摇奖号码的球,随后给这个球挂刚体,把刚体里的数据(碰撞检测Continuous)改成(连续Continuous)

 

,之后在(Create)创建一个(Physic Material),

 

把这个组件里面的前三个数值分别为:动态摩擦,静态摩擦和弹力

 

,把动态摩擦和静态摩擦的数值改成0,弹力的数值改到最大也就是1,把这个组件挂到摇奖号码的球的刚体上,和创建出来3D圆形上,摇奖号码的球就可以来回弹动了,然后不把球的刚体的(碰撞检测Continuous)改成(连续Continuous),就会导致摇奖号码的球弹出,也就是游戏中经常碰见的穿模问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值