位置: 编程技术 - 正文

Unity3D游戏开发从零单排(五) - 导入CS模型到Unity3D(Unity3D游戏开发引擎)

编辑:rootadmin
游戏动画基础Animation组件

推荐整理分享Unity3D游戏开发从零单排(五) - 导入CS模型到Unity3D(Unity3D游戏开发引擎),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:Unity3D游戏开发(第2版)pdf,Unity3D游戏开发标准教程,Unity3D游戏开发(第2版),Unity3D游戏开发(第2版)pdf,unity3D游戏开发,Unity3D游戏开发pdf,Unity3D游戏开发毕业论文,Unity3D游戏开发标准教程,内容如对您有帮助,希望把文章链接给更多的朋友!

Animation组件是对于老的动画系统来说的。

老的动画形同对应的动画就是clip,每个运动都是一段单独的动画,使用Play()或CrossFade(),直接播放动画 或淡入淡出播放动画。

下面的是它的几个属性

Animation:默认的动画片段;

Aniamtions:包含的动画片段;

Play Automatically: 是否自动播放;

Aniamate Physics:动画是否应与物理交互。Culling Type:什么时候不播放动画。始终播放动画 (Always Animate)始终播放动画。基于渲染器 (Based on Renderers)基于默认动画姿势剔除。基于片段边界 (Based on Clip Bounds)基于片段边界(在导入过程中计算)剔除,如果片段边界超出视图,则不会播放动画。基于用户边界 (Based on User Bounds)基于用户定义的边界剔除,如果用户定义边界超出视图,则不会播放动画。

Animator组件

新的动画系统Macanim(具体文档参考这里)提供了一个Animator组件用于控制角色动画,这两个组件不能同时使用。

Animator组件也对应了几个属性:

Controller:Animator Controller资源;

Avator:骨骼模型

(注:何为Avatar?因为骨骼结构的类似性,使得把动画从一个类人骨架映射到另外一个类人骨架成为可能,也使得重定向和反向动力学成为可能。极少例外地,类人模型可以被认为是有相同的结构,有清晰的身体,头,四肢。Mecanim系统很好地利用这个主意来简化搭骨架和控制动画。创建动画的一个基本步骤是设置一个unity3d可理解的简化后的类人骨骼到骨架中实际骨骼的映射;在Mecanim的术语中,这个映射称为Avatar)

Apply Root Motion: 是否使用RootMotion,如果我们勾选了的话,当播放动画时是通过动画运动的幅度来改变角色的Transform的,如果我们不勾选,我们就可以用脚本设定此角色的Tranform。

下面两个选项和Animation组件基本一致。

Animator Controller

Animator控制器,用来设置角色上的行为。这些包括状态机、融合树和通过脚本控制的事件。Unity为Animator controller的编辑提供了一个可视化的窗口,打开一个Animator controller,里面就像这样:

通过在里面添加各种状态和变量,可以让角色在各个状态中自由变换,而且,controller资源是可以复用的。假如有两个模型的Avatar完全一样,那么controller就可以直接套用。

状态机之中的状态不仅可以是单个剪辑,也可以是一个混合树。构建和编辑复杂的状态机和混合树,以便完全控制的角色如何运动。Unity编辑器提供强大的工具,用于分割、创建循环和从导入的动画文件中提取轨迹。然后可以把这些动画短片用作一个多层混合树的叶子,或者作为分层状态机中的一种状态。混合树让您只使用几个动画剪辑就能创建各种各样的运动。在混合树编辑器中,您可以定义混合参数并在3D视图中预览混合动画。混合树和动画剪辑一样,可以用作分层状态机中的状态。

导入CS模型到Unity3D

CS应该是我们这代人第一个接触的FPS游戏了,虽然是年以前的产物,但是即使拿到现在来看,品质也是世界级的。

下面就介绍下如何把CS1.6中的模型提取到Unity3d中。

相关软件:

Unity3D 4.2

MilkShape 3D 1.8.4 - 分解MDL模型

smd importer_v1.0 - 导入smd模型进3dsmax

3dsmax - 编辑模型,导出fbx格式的模型

Jed's Half-Life Model Viewer - 查看游戏模型

1.分解模型

首先你得有CS1.6.

安装好Jed's Half-Life Model Viewer ,可以到对应的模型路径中加载游戏模型。

相关的路径如下:

Unity3D游戏开发从零单排(五) - 导入CS模型到Unity3D(Unity3D游戏开发引擎)

统一路径 cstrikemodelsplayer匪1 terrorterror.mdl匪2 leetleet.mdl匪3 arcticarctic.mdl匪4 guerillaguerilla.mdl警1 urbanurban.mdl警2 gsg9gsg9.mdl警3 sassas.mdl警4 gigngign.mdlVIP vipvip.mdl

更详细的路径介绍参考这里。

接下来就要将MDL模型分解为SMD模型,用到的工具是MilkShape。

(注:MDL模型和SMD模型

MDL文件并不是单纯的模型文件,他是一个文件包,里面包含模型,贴图,所有动作,以及脚本。CS中的mdl模型由控制文件(扩展名为QC) 和数据文件(扩展名为SMD)再加上贴图(只能是Windows格式的色BMP位图,而且它的长宽都必须是八的倍数。)编译而成。其中QC文件保存了模型的附件、接触点和子模型等数据,并指定编译时要读取的SMD文件。Smd有两种,一是记录模型的信息,包括模型、骨骼、hitbox、皮肤贴图。另一种是动作镜头,记录每一帧骨骼的位置,形成动画。)

打开MilkShape,Tools -> Half-Life -> Decompile Normal HL MDL file -> 选取需要解压的mdl文件。片刻,解好了,是qc,bmp,和一大堆smd文件,我们需要用的是smd。

2.导入smd到3dsmax

首先将插件装好,将解压后得到的文件SMDImporterx.dli放到 X:Program FilesAutodesk3ds Max plugins 中,X是你安装软件的盘符。

打开3dsmax.文件->导入,选择SMD,定位到GSG9.smd,加载。

加载进来的模型没有贴图,所以要手动赋一下材质。编辑材质->漫反射 -> 位图,选择分解出来的bmp纹理,加载。

将材质球赋上去,打开纹理开关,模型就正常显示了。

导出动画

导入run.smd,可以拖动滑块开一下跑的动画(发现是反向的 - -).

文件->导出FBX,注意勾选Animation和Embed Media.,确定。

加载FBX模型进Unity3D

打开Unity3D,创建一个新项目,将刚才导出的fbx模型拖到assets中。在Inspector中点Rig,Animation Type选Humanoid,其他的默认,Apply.

接下来创建一个Animation Controller,Create -> Animation Controller,将fbx自带的run动画拖拽进Controller中。

黄色表示是默认的动画。

接下来就可以把模型拖入到场景中了,Animation controller拖拽到Animator组件对应的位置。

循环动画的话,在模型的Animation选项卡中勾选Loop Pose.

接下来及可以用脚本来控制人物的跑动了 ^^.

参考

解决Unity3d 4.3 动画系统带来的烦恼 - -

疯狂冰淇淋(CrazyCream)游戏源码完整版 疯狂冰淇淋(CrazyCream)游戏源码完整版,该游戏目前已经上线了一些IOS应用市场了,而且该游戏也已经有安卓版本了,游戏的源码比较源码完整的,功能

android猜猜红桃A游戏源码 一个简单的猜扑克游戏,很适合初学者,点击TextView扑克由反面变为正面,未点击的TextView有透明效果,点击再玩一次按钮,运行洗牌程序undefinedignore_js_

激情台球游戏源码 android游戏开发实例————桌面类游戏——《激情台球》还有地图编辑源码和ppt此系列游戏代码皆为android游戏开发教程一书,仅为开发教学演示,非上

标签: Unity3D游戏开发引擎

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

上一篇:一款类似塔防类的保卫羊村游戏android源码(塔防类的网游)

下一篇:疯狂冰淇淋(CrazyCream)游戏源码完整版(疯狂冰淇淋罗德)

  • 企业所得税的计提
  • 小规模纳税人企业所得税怎么计算
  • 利息发票怎么算
  • 已申报个税减免什么意思
  • 工资结算汇总表会计科目
  • 收回多借差旅费
  • 原材料出现贷方余额
  • 民间非营利组织会计报表
  • 预付账款 费用
  • 所得税逾期未申报怎么处理
  • 税会差异例子
  • 纳税人跨县(市、区)是指
  • 内退人员工资标准
  • 往年银行余额和账目不符怎么调整
  • 太阳能真空管和普通管的区别
  • 如何区分纳税调额和补税
  • 个税手续费收入要交税吗
  • 条形码费用属于哪个科目
  • 利用Windows Media将二进制文件转音频
  • 少交的增值税如何记账
  • 交易性金融资产是什么意思
  • 销售黄金的会计分录
  • 如何加快身体的新陈代谢
  • PHP:oci_new_connect()的用法_Oracle函数
  • 前端vue实现预览excel
  • php redis实现秒杀思路
  • 劳务报酬纳税计算器
  • wind10画图在哪
  • 收到短期借款会计分录怎么做
  • 包装物押金收入计入收入总额吗
  • 贷款利息如何计算年利率
  • PHP:mcrypt_ecb()的用法_Mcrypt函数
  • 凭证包括几个部分
  • 保险中介市场现状和基本特点
  • 如何确定销售数量
  • 与取得收入无关的成语
  • 销售退回的增值税怎么处理
  • 挪威罗弗敦岛
  • 微笑的树懒哥斯达黎加
  • windows nginx php配置
  • 农产品小规模纳税人
  • 发票货物或应税劳务名称怎么填写
  • 怎么填专项扣除
  • 公司全额承担个税会计分录
  • 资本化支出影响营业利润吗
  • 未确认融资费用摊销额怎么计算
  • 汇兑损益可能被确认为
  • sql2008使用教程
  • sql server 2008数据库文件
  • SQL Server中的XML数据进行insert、update、delete操作实现代码
  • 工会经费余额在借方还是贷方
  • 员工补助每月申报怎么填
  • 跨年度少计提的企业所得税
  • 印花税不足一元免征吗
  • 报废半成品怎么做账
  • 收回应收账款账面余额
  • 企业外购的无形资产的成本包括
  • 佣金支付给谁
  • 支付广告费属于进项还是销项
  • 投资性房地产收回自用
  • 支付劳务费是劳务所在地吗
  • 公司银行开户的一些资料是公司办公室保存还是财务保存
  • win10预览版和正式版区别
  • win7登录密码怎么改
  • linux启动后出现grub
  • macbook 如何设置safari的搜索引擎
  • vs图片简单
  • win7更新显卡驱动后黑屏的解决方法
  • linux中病毒了怎么处理
  • 批处理语言 从入门到精通
  • 批处理脚本怎么写
  • javascript基础笔记
  • python中的字符串必须写在一对双引号中
  • 我置顶你也只顶你
  • Android的AdapterView及其子类简介-android学习之旅(二十三)
  • js新年倒计时
  • android 获取时区
  • 餐饮专票可以抵扣吗
  • 监督医院的单位
  • 新疆皮山县概况
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设