查看: 1185|回复: 0
打印 上一主题 下一主题

实现鼠标移动(转载)

[复制链接]

2508

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32806
精华
12

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-5-9 10:17:08 |只看该作者 |倒序浏览
   1.首先选取并导出fbx格式的动画。(3d max2010就能很好的实现这一步)

      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");

     
    }


复制代码
注意:你可以用GUI创建Button,但不能去创建Box。因为这样会覆盖你的模型,致使你的模型无法被获取到。后面的“碰撞”方法也就起不到作用了。

3.将你写的脚本放到Camera上,在运行程序的时候就能看见   。当然,你导入包   ,但我还是觉得写代码比作图来得快。

     4.这一步是最为关键的一步:建立一个“Plane”(方便人物模型的对齐),并把工程文件的模型拖入到场景中   。认真核对坐标,不然你运行的时候那个图就没法看了,那叫一个难看啊。。。。

      5.为你的模型添加 ,也就是经常提到的让你的模型支持碰撞。

      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");

     
    }


复制代码
并将其放到你要操作的模型上。

最后,你就可以导出   ,查看你做的效果


分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-1-31 14:43 , Processed in 0.060943 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部