位置: 编程技术 - 正文

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)

  • 如何开具免税发票
  • 增值税发票超过3个月可以作废吗
  • 购房补贴退契税多久到账
  • 农村信用社可计息贷款吗
  • 公司购买的
  • 公司购买食品如何入账
  • 承兑汇票大回头票是什么意思
  • 同一法人的两家企业可以以同一投标人身份投标吗
  • 外销收入确认原则有哪些
  • 红字发票怎么回事
  • 国内支付业务收入怎么算
  • 企业所得税税前扣除凭证管理办法
  • 个税申报收入额怎么填
  • 利得和损失计入所有者权益
  • 营改增前未完工的老项目可以开专票吗
  • 员工集体旅游费会计分录
  • 老板垫付的费用怎么做凭证
  • 另一个公司代付公司的水电费
  • 企业支付的产品广告费应计入什么账户借方
  • 买空调交税是谁交税
  • 虚开发票的进项税额转出如何做分录?
  • 2021年营业额多少需要交税
  • 技术转让开具什么发票
  • 退税可以分批吗
  • 公司支付给个人的货款怎么入账
  • 代缴社保缴费基数是怎么算的
  • 清产核资的步骤
  • 结转存货跌价准备冲减主营业务成本
  • 没有单据怎么核算成本?
  • 完工百分比法确认收入应注意的问题
  • win10如何关闭自动修复
  • win10 删除文件 没有找到项目
  • 股份公司和有限公司工作哪个好一些
  • 为什么无形资产是非流动资产
  • php二维数组遍历
  • 退货红冲发票要收回原发票吗
  • 成本核算怎么核算
  • 苹果手机最新款2023新上市
  • 加拿大克卢恩国家公园
  • 企业所得税扣除标准表
  • 主播录屏软件哪个好
  • 圣米歇尔山法语介
  • axios请求数据的数据类型
  • Stable Diffusion - API和微服务开发
  • linux如何使用
  • 应收账款保理会计处理相关会计准则
  • 社保滞纳金计入个人账户吗
  • 个税专项附加扣除金额
  • 购买理财资金来源规定
  • 条形码费用属于哪个科目
  • 法律服务费属于什么服务
  • 缴纳印花税需要带公章吗
  • php7编译安装gd库
  • 月度合并报表与年度合并区别
  • sqlserver查询时报00bop错误
  • 单位买的职工社保自己可以去社保局领卡吗
  • 管理费用不可以税前抵扣的利润表怎么填写
  • 认证未抵扣往哪里记
  • access数据库sql语言
  • mysql -ne
  • 如何在卸载程序中隐藏已安装程序
  • win2008 R2 与SP1 PS2无法安装操作系统补丁的解决办法
  • window英语
  • 如何解决win10系统用户名有中文
  • Win10 Mobile Build 10572 其它未记录更新内容汇总
  • xp系统内存占用多少
  • psoft1.exe - psoft1是什么进程 有什么作用
  • win7任务栏跑到右边了
  • win10注册不了账号
  • win81和win10
  • Linux系统中配置网络
  • cocos2dx-js
  • Fast TileMap
  • python的数据
  • 安卓使用icloud
  • python解析chunked
  • 什么情况下税务局会罚款
  • 山东省水资源税征收标准
  • 增值税电子普通发票可以抵扣吗
  • 西藏自治区税务局电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设