博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习ET(2) - 替换角色的模型
阅读量:6641 次
发布时间:2019-06-25

本文共 876 字,大约阅读时间需要 2 分钟。

<我是一个客户端程序员>

上一讲结尾说道:ET4.0 Demo 中角色在移动过程中最后一步总感觉被“拽”一下。我想先验证一下这个问题,所以现在将它替换成一个普通的方盒子。

开始吧:

  • 1.运行起来,在Scene中找到角色实例。(鼠标在Scene中点哈)
    clipboard.png
    Skeleton就是这个角色。
  • 2.根据名字(看到Clone字样,肯定是prefab克隆的),在Project中去找它的prefab。同时也知道了作者放资源的目录。

    clipboard.png定位Skeleton的位置(把它拽到场景,然后选中它,用select跳转,我觉得这样快)

    clipboard.png

  • 3.创建一个Cube,拽到Skeleton的路径, 制作成预设。
  • 4.(在这之后我尝试了用重命名Cube来替换Skeleton的方式,但是失败了,后来找到原因了,现在只写“对”的过程)
  • 5.在代码中搜索"Skeleton"

    clipboard.png

    发现是走的AssetBundle,打开AssetBundle Browser查看,下载地址是。

    在AssetBundles-Browser中查看上图中的倒数第2行代码中提到的资源。
    clipboard.png
    点中即跳到相应资源位置,如图:
    clipboard.png
    看Unit的Inspector界面
    clipboard.png发现在这里指定了引用的角色模型。用Cube替换这个预设(另外提一句:Cube是整体缩放了0.1倍才和原有角色大小匹配)。

  • 6.打包资源(可以不打包exe) 运行。成功。
    clipboard.png但是移动过程中,最后一步依旧是“拽”的。

补充:

必须要解决"拽"一下的情形。翻找源代码发现移动是由MoveComponent.cs控制的。

clipboard.png

clipboard.png
这两处检测是否到达"目标点"的容错值是 0.1f(修改前), 改成图中的0.01f就没有拖拽了。
结论:拽是因为判断是否到达目标点的精度问题。

clipboard.png

看一下demo中的角色,和unity中默认Cube的比例关系,xyz全部被缩放了0.1倍的大小。所以为了配合这个模型缩放再缩放一下距离精度。


本文写作过程中,遇到"失败经历",为简化过程,只写“正确”流程,所以文章经历了再三编辑,我也反复检查了流程,如果您根据本文依次实验时遇到我遗漏的步骤,请留言,感谢您的阅读。

转载地址:http://gtovo.baihongyu.com/

你可能感兴趣的文章
转转数据平台部诚招 Java、大数据工程师、架构师
查看>>
LoadRunner的Socket脚本关联小技巧
查看>>
Qt学习(002-1)
查看>>
那些都是我们必须要经历的
查看>>
SAN系统拓扑
查看>>
如何调整Linux系统为正确时区
查看>>
mysql更新数据库中所有相同的某个字段的值
查看>>
生成图片缩略图
查看>>
hibernate查询数据库6种方法
查看>>
Centos6.3利用iptables配置网关防火墙
查看>>
SpringAOP 调研过程
查看>>
镜像源汇总1
查看>>
nginx使用用户真实IP做hash(解决经过CND后ip_hash失效问题)
查看>>
为什么 PHP 和 JavaScript 取整 ((0.1+0.7)*10) 的结果不是 8?
查看>>
禁用开机显示按Ctrl+Alt+Del对话框
查看>>
最简单的TCP网络封包解包
查看>>
结构体与指针
查看>>
IXWebHosting虚拟主机首页优先级设置方法
查看>>
PerformanceCounterCategory 无法加载计数器名称数据,因为从注册表读取的索引
查看>>
chrome查看SSL证书信息
查看>>