强子 发表于 2013-3-5 08:44

实现鼠标移动,动画播放的界面

今天是很累的一天,在百度,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");
}并将其放到你要操作的模型上。
最后,你就可以导出 ,查看你做的效果了。


似冷非寒ヽ冰 发表于 2017-2-18 13:19

好帖就是要顶

liuqingmei 发表于 2017-2-18 13:27

顶顶多好

jason 发表于 2017-2-18 13:38

真心顶

nicepainkiller 发表于 2017-2-18 13:29

说的非常好

动漫中国 发表于 2017-2-18 13:43

很好哦

duanzk 发表于 2017-3-5 15:20

很不错

duanzk 发表于 2017-3-5 15:22

难得一见的好帖

hetianlong 发表于 2017-3-5 15:01

说的非常好

无敌甩葱歌 发表于 2017-3-5 15:18

不错不错
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 实现鼠标移动,动画播放的界面