位置: 编程技术 - 正文

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)游戏源码完整版(疯狂冰淇淋罗德)

  • 固定资产入账怎么做账
  • 外购的商品用于生产
  • 工会刻章费用计入什么支出
  • 其他收入月末需要结账吗
  • 住宿发票税率有哪4种
  • 新公司注册资金需要实缴吗
  • 房产企业赠送无形资产
  • 小规模附加税减免政策2023最新
  • 教育用地转让缴哪些税
  • 公司内部核算调拨价差的账务怎么做处理?
  • 销售成本结转中的库存商品的单价错了怎么改u8
  • 高薪员工如何降职
  • 拿到进项票下一步做啥
  • 运费发票备注栏新规定
  • 商贸公司购买货物会计分录
  • 财务费用的借方和贷方
  • 外账不能出现收据
  • 生产企业出口货物必须以什么为计税依据计算免抵退税额
  • 增资后可以减资吗
  • 收取对方损失赔偿
  • 已经认证抵扣的发票会计分录
  • 单位社保部分会扣吗
  • 总产值在报表中怎么看
  • 一般纳税人纳税申报表
  • 现金日记账和银行存款日记账登记
  • 域名停靠是病毒吗
  • 华为分享平时可不可以打开
  • thinkphp saveall
  • php脚本主要用于的三个领域
  • 机器设备的拆除,按照什么税目缴纳增值税
  • 应收账款包括哪些
  • 行政单位预算外资金收入上缴财政专户的方式不包括
  • 黑马程序员前端工程师简历
  • php是面向对象语言吗
  • 房屋所在地的房子怎么查
  • js如何随机生成字符串
  • mac快捷切换
  • vue process.env.node_env
  • 前端基础入门
  • vue fragment标签
  • 编写jsp程序,实现简易计算机
  • css教程网站
  • 再次回归的成语
  • 总公司如何成立子公司
  • 增值税在纳税申报表中怎么得出
  • html怎么样
  • sql防御
  • 劳动保护的各项支出列入工资总额的范围吗
  • 水利基金差额征收有哪些类型
  • 存货的期末余额是账面余额吗
  • 饭店开业多久可以正常
  • 购买商品的会计科目
  • 个税申报属于哪个部门的职责
  • 销售免税农产品的会计分录
  • 以前年度多记成本费用税前扣除,今年要怎么做分录冲销
  • 收到上月已付款的材料
  • 投资性房地产按成本法计提折旧
  • 外汇申报要在几天之内
  • 新手公司内帐怎么做
  • 残疾人保障金怎么申报
  • having的用法详解
  • window怎么操作
  • 分区时把磁盘格式化了,如何恢复
  • 快速切换用户是什么意思
  • windowsxpdos命令
  • win7桌面提示7601
  • win8.1启动项设置
  • linux文件压缩和备份实验
  • win7一直出广告
  • 用简洁的语言推荐一本书
  • javascript学习指南
  • python多进程模块
  • js如何使用
  • typescript concat
  • js获取设备
  • 北京天然气收费标准2024年
  • 税务举报被泄漏怎么办
  • 张某每月从单位取得工资15000
  • 怎样登录市地税局网站
  • 出口货物免抵税额怎么申报附加税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设