今天是很累的一天,在百度,bing,谷歌之间徘徊,我要感谢 的兄弟们,没有他们也许我今天什么都做不出来。奉劝大家一句话,只有多问、多查、多写才能完成代码的探索。
好了,下面是我的代码展示:
1.首先选取并导出fbx格式的动画。(3d max2010就能很好的实现这一步)
2.在工程文件中建立脚本 - <font size="2">function OnGUI()
- {
- // GUI.Box(Rect(0,0,320,480),"");
- //one two three four
- //GUI.Box(Rect(0,0,160,215),"first man");
- //GUI.Box(Rect(160,0,160,215),"second man");
- //GUI.Box(Rect(0,215,160,215),"third man");
- //GUI.Box(Rect(160,215,160,215),"last man");
- //buttons
- if (GUI.Button(Rect(0,430,160,50),"Return"))
- Debug.Log("Clicked the button with an image");
- if (GUI.Button(Rect(160,430,160,50),"Sure"))
- Debug.Log("Clicked the button with text");
- }</font>
复制代码 注意:你可以用GUI创建Button,但不能去创建Box。因为这样会覆盖你的模型,致使你的模型无法被获取到。后面的“碰撞”方法也就起不到作用了。3.将你写的脚本放到Camera上,在运行程序的时候就能看见 。当然,你导入包 ,但我还是觉得写代码比作图来得快。
4.这一步是最为关键的一步:建立一个“Plane”(方便人物模型的对齐),并把工程文件的模型拖入到场景中 。认真核对 坐标 ,不然你运行的时候那个图就没法看了,那叫一个难看啊。。。。
5.为你的模型添加 character Controller ,也就是经常提到的让你的模型支持碰撞。
6.写“碰撞”的脚本,如下所示: - var firstman:GameObject;
- //get the GameObject
- firstman = GameObject.Find("first man");
- //when your mouse in Body
- function OnMouseEnter()
- {
- firstman.animation.CrossFade("hello");
- }
- //when your mouse out Body
- function OnMouseExit()
- {
- firstman.animation.CrossFade("idle");
- }
复制代码并将其放到你要操作的模型上。
最后,你就可以导出 ,查看你做的效果了。
|