位置: 编程技术 - 正文

Unity3D修改模型的网格数据(unity怎么替换模型位置)

编辑:rootadmin
【狗刨学习网】模型导入unity后,可以使用unity的Inspector面板对模型在某个坐标轴上进行平移、旋转和缩放操作(如图1)。 图 1 Inspector面板提供功能是所见即所得的,调整后立刻可以看到效果,相当的方便。但是这些功能还不能完全满足游戏开发的要求,比如为了减轻美工的工作量一些游戏对场景中的模型标准作出了一些规定,使这些模块化的小模型能按照一定的规律拼接成丰富多样的大模型。拼接过程往往要对模型的local coordinates进行调整才能最终形成一个“无缝”的大模型,而这个过程常常是在游戏运行时进行(或者地图初始化时),因此需要引擎提供修改模型mesh的接口。十分幸运的是unity提供了这样的接口。Mesh and MeshFilter 需要修改模型的网&#;数据,首先第一步是要想办法获得模型的mesh,这里我们需要Mesh Filter,unity文档中的解释如下:The Mesh Filter takes a mesh from your assets and passes it to the Mesh Renderer for rendering on the screen. 图 2 如上图,Robot手里拿的枪的网&#;数据保存在以gun_model命名的Mesh里,而这个Mesh则隶属于Gun_model的MeshFilter。知道了网&#;数据保存的位置,接下来需要做的就是获取这些数据并修改它们。下面使用一个简单的cliff模型为例子介绍如何修改模型的网&#;数据。Simple Example 首先来看原始的模型长什么样? 图 3 现在需要修改模型的网&#;数据,把模型最高点的高度坐标挑高一倍,代码如下: 1: using UnityEngine; 2: using System.Collections; 3: 4: [RequireComponent(typeof(MeshFilter))] 5: public class example : MonoBehaviour { 6: void Update() { 7: Mesh mesh = GetComponent().mesh; 8: Vector3 [] vertices = mesh.vertices; 9: : int p = 0; : int flag = -1; : float maxheight = 0.0F; : while (p < vertices.Length) { : if(vertices[p].z > maxheight) { : maxheight = vertices[p].z; : flag = p; : } : p&#;&#;; : } : vertices[flag] &#;= new Vector3(0, 0, maxheight); : : mesh.vertices = vertices; : mesh.RecalculateNormals(); : } : } 注意:本例所使用的模型的local坐标系的z轴相当于unity的y轴,因此上述代码时对z轴进行修改。代码运行的结果如下: 图 4 是不是很简单!unity强大的接口以及较为详细的文档对开发者来说确实是一个福音,另外使用C#编程对于我这苦&#;的不合&#;C&#;&#;程序员来说确实很爽! 另外有一点&#;得注意:上述代码所对应的脚本一定要drag到GameObject里MeshFilter的拥有者,才能使代码生效。如下图5必须要把script拖拽到Cliffs才能生效,因为在cliffs_1cm的GameObject里只有Cliffs拥有MeshFilter(如图6) 图 5

推荐整理分享Unity3D修改模型的网格数据(unity怎么替换模型位置),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity怎么替换模型位置,unity3d怎么改项目名称,unity3d怎么改项目名称,unity 修改模型,unity3d怎么改变物体大小,unity 修改,unity 修改,unity 修改,内容如对您有帮助,希望把文章链接给更多的朋友!

.png (. KB, 下载次数: 0)

Unity3D修改模型的网格数据(unity怎么替换模型位置)

下载附件 保存到相册

昨天 : 上传

图 6声明:此篇文档时来自于【狗刨学习网】社区,是网友自行发布的Unity3D学习文章,如果有什么内容侵犯了你的相关权益,请与官方沟通,我们会即时处理。

Unity3d中BlinnPhong光照模型注解 【狗刨学习网】/**版本:0.1最后修改:--撰写:李现民Unity3D中主要用到的shader(着色器)有三种,除了常规的vertexshader与fragmentshader外,还有一类称

unity3d CarWaypoints插件 【狗刨学习网】编写初衷:1、网上没有现成的好用的waypoints插件2、自己在做一个赛车游戏,如果没有这款插件的话在制作游戏的过程中会被累成狗3、

全面理解 Unity UI 系统 【狗刨学习网】随着Unity4.6发布,新UI系统终于与大家见面了。RectTransformUnityUI系统使用RectTransform实现基本的布局和层次控制。RectTransform继承于Transform,

标签: unity怎么替换模型位置

本文链接地址:https://www.jiuchutong.com/biancheng/380228.html 转载请保留说明!

上一篇:UGUI 设置Text控件文本颜色(ugui scrollview)

下一篇:Unity3d中BlinnPhong光照模型注解(unity3d spine)

  • 年底企业所得税计提少了
  • 境内单位和个人向境外单位提供服务
  • 税务稽查最坏结果不知情人员怎么办
  • 股权转让个人所得税如何计算
  • 流转税通俗
  • 服务不动产和无形资产扣除项目本期实际扣除金额
  • 企业付房租怎么做会计分录
  • 金税盘业务
  • 开了发票不做收入的账务处理
  • 公司支付保险公司保费怎么做账
  • 分支机构如何领购发票
  • 其他综合收益的税后净额怎么计算
  • 企业之间利息收入怎么做账
  • 小规模纳税人的题目
  • 非独立核算的分公司怎么做账
  • 环保税和环境税一样吗
  • 利用发票管税的意义
  • 收到单位失业保险怎么办
  • 购买原材料发生的采购费用计入
  • 增值税纳税申报表怎么填
  • 车辆保险抵扣会计分录
  • 法院执行款可以开发票吗
  • 个人出租房屋给公司可以开专票吗
  • 回迁房所得税处理
  • 怎么用红字信息表开红字发票
  • 赠送产品如何计入成本
  • 收取违约金如何入账
  • 政府扶持资金要交所得税吗
  • 苹果六微信
  • 差旅费是否可以所得税前扣除
  • 建筑企业如何确认所得税收入
  • PHP:curl_multi_getcontent()的用法_cURL函数
  • win7旗舰版叫啥
  • thinkphp分页传递参数
  • h5能不能自动播放
  • 埃姆雷莫尔
  • 预提费用会计处理
  • uni-app list
  • IDEA 2022专业版创建Java Web项目(保姆式小白讲义,强烈建议入手!)
  • 电费发票查不到
  • 预交的企业所得税如何记账
  • 个人所得税其他扣除300一个月
  • 公司用车租赁
  • 补发工资如何做账
  • 免税收入和不征税收入有何区别
  • sql,server
  • 政府补助分类有几种
  • 长期股权投资股利确认时间点
  • 简易计税开具的发票取得的进项可以抵扣嘛
  • 什么是补偿性余额,对银行借款的成本有何影响?
  • 税种分类及其税率
  • 返还的个税如何做分录
  • 不开票收入怎么报税
  • 延缓缴纳的企业所得税怎么做账
  • 金税盘发票认证怎么操作流程
  • 出口退税转免税怎么写个说明
  • 餐饮打包盒 标准
  • 什么是速动比率的概念
  • sql分几类
  • 电脑win7win8win10操作系
  • win2003回收站
  • java开发经常出差合理吗
  • 新手怎样
  • DWHeartbeatMonitor.exe进程是什么意思 DWHeartbeatMonitor是安全的进程吗
  • xp系统如何更改开机启动项
  • win8.1屏幕键盘
  • kernel32在哪个文件夹
  • linux命令行图片
  • 学dos有用吗
  • 批处理文件的拷贝怎么写
  • jquery 图片插件
  • nodejs作为后端
  • python中对文件操作的一般步骤
  • 基于javascript的毕业设计选题
  • error: Error parsing XML: unbound prefix
  • 四川税务网络领发票流程
  • 江西省税务局12366
  • 营业税金及附加结转分录
  • 现在哪个保险公司车险好
  • 税务机关绩效管理十年变化
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设