博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MeshCollider双面化脚本
阅读量:6093 次
发布时间:2019-06-20

本文共 1007 字,大约阅读时间需要 3 分钟。

由于MeshCollider组件可以挂载多个,所以不需要Mesh重新合并了。

除了反转法线还需要反转所有三角面的顺序

 

脚本如下:

using System.Collections;using System.Collections.Generic;using UnityEngine;public class DoubleSideMeshCollider : MonoBehaviour{    public MeshCollider meshCollider;    void Start()    {        var mesh1 = meshCollider.sharedMesh;        var mesh2 = Instantiate(mesh1);        var normals = mesh2.normals;        for (int i = 0; i < normals.Length; ++i)        {            normals[i] = -normals[i];        }        mesh2.normals = normals;        for (int i = 0; i < mesh2.subMeshCount; ++i)        {            int[] triangles = mesh2.GetTriangles(i);            for (int j = 0; j < triangles.Length; j += 3)            {                int temp = triangles[j];                triangles[j] = triangles[j + 1];                triangles[j + 1] = temp;            }            mesh2.SetTriangles(triangles, i);        }        gameObject.AddComponent
().sharedMesh = mesh2; }}

 

转载于:https://www.cnblogs.com/hont/p/6628841.html

你可能感兴趣的文章
图解SSH原理及两种登录方法
查看>>
[转载] 七龙珠第一部——第058话 魔境圣地
查看>>
【总结整理】JQuery基础学习---样式篇
查看>>
查询个人站点的文章、分类和标签查询
查看>>
基础知识:数字、字符串、列表 的类型及内置方法
查看>>
JSP的隐式对象
查看>>
P127、面试题20:顺时针打印矩阵
查看>>
JS图片跟着鼠标跑效果
查看>>
[SCOI2005][BZOJ 1084]最大子矩阵
查看>>
学习笔记之Data Visualization
查看>>
Leetcode 3. Longest Substring Without Repeating Characters
查看>>
USB2.0学习笔记连载(十八):keil实现寄存器的配置及相关函数讲解(二)
查看>>
SqlServer表名称定义
查看>>
jquery操作select(取值,设置选中)
查看>>
浅谈无线h5开发
查看>>
关于裸婚,没事F5刷豆瓣是不够的!
查看>>
【FJOI2015】金币换位问题
查看>>
HighChar
查看>>
window上安装pymysql
查看>>
控件调用函数
查看>>