unity3d 中 魔兽人物模型下载Unity仿WOW镜头包,稍后提供;

导入镜头包(WoW_controller_and_MiniMap_Package.unitypackage),作者已经很体贴地提供了Demo场景,打开WowCharacterMovementAndCamera/Scenes/Demo Scene。运行游戏,可以直接操作这个角色(这完全就是个球啊)进行移动。我稍微实验了下,只能说它只实现了WOW里的部分操作,一些细节上的东西还是有点不一样。比如无法通过拉近镜头切换到第一人称视角,无法用左键观察周围环境等等。


接下来要通过WMV导出角色模型,首先要从魔兽世界英雄榜里找到自己的角色,如果没有也没关系,在WMV中可以自己定制。中国大陆的英雄榜链接在这里:http://www.battlenet.com.cn/wow/zh/,只要在右上角里的搜索里搜索出自己的角色页面就可以
了。比如我的是(请无视我的装备,谢谢XD):

复制这个页面的链接,然后打开WMV,选择主菜单→角色→导入英雄榜角色,在弹出的输入框中粘贴,点击OK。等待几秒后人物和装备就被下载下来了。如果没有角色,也可以在左边选择Character下面的模型,自定义角色样式。注意目前这个版本的WMV只能导出角色带盔甲的模型和动作,所以武器附魔之类的就只能自己YY了……

定制好角色之后,选择主菜单→导出模型→FBX。经过漫长的等待之后就可以得到FBX文件和贴图了。把这些资源文件丢到Unity的工程面板中,并找到Materials下面的材质,修改好Shader,我这里用的是Transparent/Coutout/Soft Edge Unlit。

关闭Demo场景,打开自己练习用的ElwynnForest场景,在工程面板找到WowCharacterMovementAndCamera/Prefabs里的Player和MainCamera并拖入设计视图。于是就有了和Demo场景中一样的效果,不过还不够,因为那个小圆球根本没有我们需要的动画。所以必须动个小手术:

  • 把自己的模型拖入Player,删除原有的CharacterWithAnimation(这会导致游戏对象与预制失去连接);
  • 从Scripts里把AnimationController重新附加到刚拖入的模型上(我这里叫BloodElfMale);
  • 设置Animation Controller里所需要的动画名称,见下图;
  • 由于WMV的导出动画BUG,所以还要为这个模型附加上一章节中写的WowAnimationFix脚本;
  • 把BloodElfMale拖到Player属性中的Animation Object上,移除原有的Mesh Filter和Mesh Renderer组件;
  • 由于导入的角色是默认向左的,所以可能还要把BloodElfMale的Rotation修改为90。


 知识点


  • AnimationController的实现比较简单,根据设置的动画名称播放相应的动画,比如走路的时候调用Walk(),里边只是判断了下动画是否存在,然后用animation.CrossFade()播放动画,用animation.Play()也可以,但是前者可以有过渡效果;
  • Physics.Raycast()可以判断两点之间是否有碰撞器,保证角色不会穿过带有碰撞器的物体;
  • Input.GetMouseButton()可以判断鼠标按键是否按下,0-左键,1-右键,2-中键;
  • Input.GetAxis()可以获取摇杆状态,”Horizontal”-水平方向,”Vertical”-垂直方向;

▇ 完成效果

至此,自定义角色已经可以控制了,点击运行游戏看下效果:)


有了自己的角色后,下一章可以试试把怪物导进来,替换那个盒子君……