Unity mesh 合并
簡介:
基本上就是把 很多物體結合成一個物體 的作法,這種做法有很多優點,例如:
1. 提高效能
2. 統一材質 (只要建立一個材質,就能控制、分配給所有物體)
3. 動畫控制方便 (像是你要在 Unity 做人物換衣服、換物件 卻還要有 人物走路動畫 + 人物攻擊動畫 ...等等 ,
將不同衣服、武器、褲子、人物骨架...等等結合成一個物體,再由同一組骨架控制動畫。
這就能夠實現不同組合角色,卻可以做一樣的動畫、動作)
入門教學步驟:
1. 先在 Unity 中建立 空物件 ( Empty )
2. 再創建兩個 Cube 方塊,並放入 空物件底下 (可以改成你自己的模型)
3. 把 MyClass 程式碼丟進 空物件上 ( MyClass 程式碼在文章下面)
4. (可選) 建立一個 Material 材質,並且丟進 空物件上
5. 執行
執行前:
執行後:
// MyClass 程式碼
// 把程式碼丟到最上層的"空物體"中
using UnityEngine;
using System.Collections;
public class MyClass : MonoBehaviour
{
void Start
()
{
MeshFilter []
meshFilters = GetComponentsInChildren<MeshFilter> ();
CombineInstance[]
combine = new CombineInstance[meshFilters.Length];
for (int i
= 0; i < meshFilters.Length; i++) {
combine [i].mesh = meshFilters [i].sharedMesh;
combine [i].transform = meshFilters [i].transform.localToWorldMatrix;
meshFilters [i].gameObject.active = false;
}
transform.GetComponent<MeshFilter>
().mesh = new Mesh ();
transform.GetComponent<MeshFilter>
().mesh.CombineMeshes (combine);
transform.gameObject.active = true;
}
}
Unity mesh 合并的更多相关文章
- Unity 网格合并
从优化角度,Mesh需要合并. 从换装的角度(这里指的是换形状.换组成部件的换装,而不是挂点型的换装),都需要网格合并.材质合并.如果是人物的换装,那么需要合并SkinnedMeshRenderer, ...
- Unity网格合并_材质合并
[转]Unity网格合并_材质合并 原帖请戳:Unity网格合并_材质合并 写在前面: 从优化角度,Mesh需要合并. 从换装的角度(这里指的是换形状.换组成部件的换装,而不是挂点型的换装),都需要网 ...
- Unity3d mesh合并,网格合并具体用法教程
Unity开发Mesh合并网格 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分 ...
- 【转】Unity网格合并_材质合并
原帖请戳:Unity网格合并_材质合并 写在前面: 从优化角度,Mesh需要合并. 从换装的角度(这里指的是换形状.换组成部件的换装,而不是挂点型的换装),都需要网格合并.材质合并.如果是人物的换装, ...
- Unity Mesh 初体验
什么是Mesh Mesh是Unity中的一个组件,称为网格组件.通俗的讲,Mesh是指模型的网格,3D模型是由多边形拼接而成,而一个复杂的多边形,实际上是由多个三角面拼接而成.所以一个3D模型的表面是 ...
- unity中的mesh合并
在分析shadowgun时,无意中发现所有的环境建筑运行后,都被合并成一个叫做 "Combined Mesha (root: scene)" 的mesh了,但是没有发现任何合并的脚 ...
- mesh合并
[风宇冲]Unity3D性能优化:DrawCall优化 (2013-03-05 15:39:27) 转载▼ 标签: it unity unity3d unity3d教程 分类: Unity3d之优化 ...
- 初识Unity Mesh
Mesh概念:Mesh是Unity中的一个组件,称为网格组件.通俗的讲,Mesh是指模型的网格,3D模型是由多边形拼接而成,而多边形实际上是由多个三角形拼接而成的.所以一个3D模型的表面其实是由多个彼 ...
- unity, mesh Collider
关闭mesh Renderer以便查看mesh Collider "For Unity 5, we must also select "Convex" on the Me ...
随机推荐
- windows 打开文件夹
@echo off rem 建立链接 net use \\192.168.2.3\share /user:username password rem 打开共享文件夹 explorer \\192.16 ...
- 用live555将内网摄像机视频推送到外网服务器,附源码
最近很多人问,如何将内网的摄像机流媒体数据发布到公网,如果用公网与局域网间的端口映射方式太过麻烦,一个摄像机要做一组映射,而且不是每一个局域网都是有固定ip地址,即使外网主机配置好了每一个摄像机的映射 ...
- [Phoenix] 七、如何使用自增ID
摘要: 在传统关系型数据库中设计主键时,自增ID经常被使用.不仅能够保证主键的唯一,同时也能简化业务层实现.Phoenix怎么使用自增ID,是我们这篇文章的重点. 在传统关系型数据库中设计主键时,自增 ...
- Oracle序列更新为主键最大值
我们在使用 Oracle 数据库的时候,有时候会选择使用自增序列作为主键.但是在开发过程中往往会遇到一些不规范的操作,导致表的主键值不是使用序列插入的.这样在数据移植的时候就会出现各种各样的问题.当然 ...
- [usaco2008feb_gold]路面修整
FJ打算好好修一下农场中某条凹凸不平的土路.按奶牛们的要求,修好后的路面高度应当单调上升或单调下降,也就是说,高度上升与高度下降的路段不能同时出现在修好的路中. 整条路被分成了N段,N个整数A_1 ...
- 【转载】Myeclipse中实现js的提示
近期需要大量使用JS来开发,但是MyEclipse2014自带的JS编辑器没有代码提示的功能,开发效率有点低,所以安装了一个Spket的插件,过程非常简单,SVN插件的安装比这个更简单. Spket插 ...
- linux系统配置之网络配置(centos)
CentOS---网络配置详解 一.配置文件详解在RHEL或者CentOS等Redhat系的Linux系统里,跟网络有关的主要设置文件如下: /etc/host.conf 配置域名服务 ...
- YCSB-mapkeeper
首先 https://github.com/brianfrankcooper/YCSB/issues/885 最终是使用ycsb-0.1.4 版本进行,这个版本自带jar包 https://githu ...
- php filter 安全过滤函数
转自:http://www.blags.org/archives/741.html php 利用filter 扩展编写的参数处理静态类,欢迎使用.希望大家看得开心,用得放心. <?php /** ...
- .NET CORE2.0后台管理系统(一)配置API
一:引用关系图 要写一个项目首先离不开的就是一个清晰的流程图,当然我这里很简单. 上诉完成后打开api下的Startup.cs文件,因为我是配置好了所在我直接上传代码然后介绍一下: using Sys ...