unity3D学习之动画设计.docx
- 文档编号:24089953
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:5
- 大小:16.78KB
unity3D学习之动画设计.docx
《unity3D学习之动画设计.docx》由会员分享,可在线阅读,更多相关《unity3D学习之动画设计.docx(5页珍藏版)》请在冰豆网上搜索。
unity3D学习之动画设计
一、系统介绍
2DToolkit分为两个系统:
运行时组件(runtimecomponents)和脚本编辑器。
脚本编辑器在Assets目录下产生资源,运行时脚本在场景中产生objects。
两者关系如下图:
文章来自【狗刨学习网】
二、重要的术语——精灵
精灵:
对于熟悉游戏开发的人而言,无论是cocos2dx或者是unity的,精灵是再熟悉不过了,在2d游戏开发中是一个很重要的词汇,说的通俗一点,Sprite也就相当于是一个组件,其中有一个属性就是对应着一个图片,然后我们可以通过控制这个Sprite来控制我们图片的操作,比如缩放移动或者旋转之类的。
创建方法:
Hierarchy面板中->Create->tk2d->Sprite,这个是最基本的精灵创建方法,我们可以创建了之后往里面添加组件,丰富其属性。
精灵集:
精灵集是2DToolkit的核心,可以将其理解成一个容器,存放Sprite的容器,SpriteCollection界面设置精灵以及其相关联的属性,包括碰撞区域。
精灵集产生一个或多个贴图图集,替代你的原图片从而提高性能。
创建方法:
一开始我还没找到这个SpriteCollection创建方法,在Hierarchy面板中怎么着都没找到,以为是版本问题,然后试试其他的版本还是一样,结果后来发现是在Project面板中,右击就能找到了。
创建好一个精灵集后取一个合适的名字,我就叫做TutorialSpriteCollection,创建好之后点击OpenEditor...打开编辑器将精灵加入精灵集里面,拖拽资源图片到“Dropspriteshere”虚线框中,当然可以拖放一个图片也可以拖放多个图片。
然后选择我们工程中的图片文件夹中的图片,将其拖放到上述虚线框中,然后可以设置精灵的碰撞属性ColliderType为Polygon用户自定义(这个适用于不规则图片),如果是规则的,假设是方形的话就直接用BoxTrimmed即可。
下图即为我创建的自定义碰撞的图集精灵。
设置好之后,我们必须要做的操作就是点击右上角的Commit按钮,即unity开始计算图集的一些属性,然后生成配置文件,点击之后会发现Project中自动多出了两个文件夹,其实这是unity经过计算得到的精灵的一些配置信息,例如坐标,大小,材质等等。
三、利用精灵集创建精灵
Create->tk2d->Sprite
四、创建普通贴图精灵
如果我们需要快速的创建一个精灵,可以就直接选择创建一个贴图精灵,直接Create->tk2d->SpriteFromTexture
五、代码获取精灵并操作精灵[csharp]viewplaincopyprint?
∙usingUnityEngine;
∙usingSystem.Collections;
∙
∙publicclassNewBehaviourScript:
MonoBehaviour{
∙ //创建精灵
∙ //tk2dSpritesprite;
∙
∙ //Usethisforinitialization
∙ voidStart(){
∙ //可以这样获取精灵
∙ //sprite=GameObject.Find("Dragon").gameObject.GetComponent
∙
∙ //输出精灵的坐标
∙ //print("x:
"+gameObject.transform.localPosition.x+"|y:
"+transform.localPosition.y);
∙ //一开始打印的坐标是x:
-1|y:
0
∙
∙ //以下代码可以动态的缩放精灵
∙ //sprite.scale=newVector3(xScale,yScale,zScale);
∙ //以下代码可改变要显示的精灵
∙ //sprite.spriteId=newSpriteId;
∙ //以下代码可以得到id
∙ //sprite.spriteId=sprite.GetSpriteIdByName("Rock");
∙
∙ }
∙
∙
∙ voidUpdate()
∙ {
∙ //通过键盘控制改变物体颜色的属性
∙ //if(Input.GetKeyDown(KeyCode.A))
∙ //{
∙ // sprite.color=Color.red;
∙ //}
∙ //if(Input.GetKeyDown(KeyCode.S))
∙ //{
∙ // sprite.color=Color.white;
∙ //}
∙
∙ OnMouseDown();
∙
∙ //下面也可以做一系列的坐标判断来定位精灵移动区域
∙
∙ }
∙ //鼠标左击控制主角精灵移动
∙ IEnumeratorOnMouseDown()
∙ {
∙ print("MouseDown");
∙ Vector3screenPosition=Camera.main.WorldToScreenPoint(transform.position);
∙ Vector3mScreenPosition=newVector3(Input.mousePosition.x,Input.mousePosition.y,screenPosition.z);
∙ Vector3offset=transform.position-Camera.main.ScreenToWorldPoint(mScreenPosition);
∙ //鼠标左击
∙ while(Input.GetMouseButton(0))
∙ {
∙ mScreenPosition=newVector3(Input.mousePosition.x,Input.mousePosition.y,screenPosition.z);
∙ Vector3pos=offset+Camera.main.ScreenToWorldPoint(mScreenPosition);
∙ pos.z=0;
∙ transform.position=pos;
∙ yieldreturnnewWaitForFixedUpdate();
∙ }
∙ }
∙}
点击屏幕中的小龙精灵,按下鼠标左键然后拖动,会发现它可以移动哦,哇咔咔,感觉真有意思,又回到了之前熟悉的2D,个人感觉unity2d比cocos2d要方便不少,毕竟可视化界面更丰富一点,但目前而言,个人还是cocos稍微熟悉一点,不过没关系,unity是个不错的强大的引擎,慢慢了解,呵呵,不早了,感觉充实的一天!
晚上和某人闹矛盾了,小吐槽了一下,为啥QQ没有自动弹出某人信息的功能或者是将某人的聊天框固定在界面上,这样就不会因为回复晚了而闹矛盾了,如果可以,我觉得要向腾讯反应一下,呵呵,希望某人开心起来!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- unity3D 学习 动画设计
![提示](https://static.bdocx.com/images/bang_tan.gif)