实现鼠标移动,动画播放的界面
今天是很累的一天,在百度,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");
}并将其放到你要操作的模型上。
最后,你就可以导出 ,查看你做的效果了。
好帖就是要顶 顶顶多好 真心顶 说的非常好 很好哦 很不错 难得一见的好帖 说的非常好 不错不错