位置: 编程技术 - 正文

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

  • 个人卖给公司车需要什么手续
  • 汇算清缴银行手续费
  • 一次性加速折旧汇算清缴怎么填报
  • 购货发票属于什么证据?
  • 资本公积可以随时撤出来吗
  • 小规模申请自开专票
  • 收到就业补贴财务如何做账
  • 固定资产怎么进账
  • 机票行程单能报销几次
  • 主营业务收入开普票怎么记账
  • 合作社免税收入需要成本吗?
  • 企业减免税享受什么
  • 变更税务登记证需要提供哪些材料
  • 滞纳金可以个人承担吗
  • 投标公司资质借用计入什么会计科目?
  • 利润是负数如何计算利润率
  • 商品房买卖合同预售和商品房买卖合同有什么区别
  • 免税发票不用纳税可以吗
  • 报税没有申报现金流量表
  • 国税局预缴税款在哪里看
  • 资产管理人该如何称呼
  • 国产设备购置投资由设备原价与什么构成
  • 个人所得税申报截止时间
  • 股票退市后股票怎么处理
  • 融资租赁税费计算
  • php变量底层实现
  • 什么票据行为是合法的
  • xwizard.exe是什么
  • 短期投资计入什么科目
  • yolov5讲解
  • 科罗拉多州位置
  • vue.config.js 中 devServer.proxy 配置说明,以及配置正确不生效问题
  • 建筑工程合同生效的条件有哪些?
  • 奥勒松又叫什么
  • php 数组
  • vue2.0安装
  • ntpdate命令详解
  • packet命令
  • 代销手续费的税率
  • 工程前期费用是什么意思
  • 织梦使用手册
  • phpcms使用教程
  • 企业所得税汇算清缴会计分录
  • 建筑业开票税点
  • 小微企业需要专职安全员吗
  • 银行转账付款会计分录
  • mysql常用命令有哪些
  • sql分组计算
  • 企业设置辅助账户的作用
  • 弥补以前年度亏损怎么算
  • 会计报表作用 镜
  • 接受捐赠收入作为广告费扣除基数吗
  • 预收的房租需要交房产税吗
  • 销售方会计分录
  • 疫情期间水电费补贴收入申报企业所得税吗
  • 资产负债表里包括哪两个数据
  • 培训费怎么算个人所得税
  • 工程检测公司的账务处理流程
  • 银行对账单和回单有什么区别
  • 营改增后工程项目计价规则也随之发生了改变对错
  • 公司成本核算流程
  • mysql误操作数据恢复
  • window10预览在哪里找
  • 怎么压缩视频
  • linux查看磁盘空间大小以及分配
  • xp系统还原系统
  • 鲁大师安装失败怎么回事
  • linux发布项目
  • win8如何使用word
  • Unity3D游戏开发培训课程大纲
  • csm support
  • 一篇文章让你彻底读懂德国历史
  • nodejs爬虫技术
  • js代码不生效
  • 宁波地铁支付宝可以刷吗
  • 保险公司个人所得税扣除标准是多少
  • 袁野近照
  • 印花税应税凭证数量是什么意思
  • 房屋维修税率是多少
  • 税务内控机制建设
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设