【Unity3D游戏开发】spine-unity3D 学习笔记 (二十)
来源:互联网 发布:cnmb网络上什么意思 编辑:程序博客网 时间:2024/06/08 12:41
spine-unity3D 学习笔记
http://zh.esotericsoftware.com/spine-using-runtimes
//skeletonData
SkeletonAnimation skeletonAnimation = GetComponent<SkeletonAnimation>();
Debug.Log(skeletonAnimation.name);//获取角色名
Debug.Log(skeletonAnimation.skeleton.bones[5].ToString()); //获取所有骨骼数组list<spine.Bone>
Debug.Log(skeletonAnimation.skeleton.slots[5].ToString());//获取所有插槽数组
Debug.Log(skeletonAnimation.skeleton.data.animations[0].name.ToString());//获取所有动画数组
skeletonAnimation.skeleton.FindBone("root").flipX = true;//根据骨骼名获取骨骼
Debug.Log(skeletonAnimation.skeleton.FindBoneIndex("root").ToString());//根据骨骼名获取骨骼的index
Debug.Log(skeletonAnimation.skeleton.FindSlot("torso").attachment.Name);//根据slot名获取slot
Debug.Log(skeletonAnimation.skeleton.FindSlotIndex("torso").ToString());//根据slot名获取slot index
Debug.Log(skeletonAnimation.skeleton.data.FindAnimation("walk").name);//根据动画名获取动画
//skin
Debug.Log(skeletonAnimation.skeleton.data.skins[0].name.ToString());//获取所有 skin
Spine.Attachment _attachment = skeletonAnimation.skeleton.data.skins[0].GetAttachment(5,"left lower leg");//从skin通过slot的index attachment的名获取attachment
//BoneData
Spine.Bone _bone = skeletonAnimation.skeleton.FindBone("left upper leg");
Debug.Log(_bone.parent.ToString());//获取骨骼的父骨骼
Debug.Log(_bone.data.length.ToString());//获取骨骼长度
Debug.Log(_bone.rotation.ToString());//获取骨骼旋转
Debug.Log(_bone.data.scaleX.ToString());//获取骨骼放缩
Debug.Log(_bone.data.scaleY.ToString());
Debug.Log(_bone.data.inheritRotation.ToString());// 是否旋转值相对父骨骼 true是相对父骨骼
Debug.Log(_bone.data.inheritScale.ToString());//是否放缩值相对父骨骼 true是相对父骨骼
//SlotData
Spine.Slot _slot = skeletonAnimation.skeleton.FindSlot("torso");
Debug.Log(_slot.data.name);//获取slot的名字
Debug.Log(_slot.data.boneData.name);//获取slot挂靠的bone
Debug.Log(_slot.r.ToString());//获取slot的颜色R值
Debug.Log(_slot.data.attachmentName);//获取pose下slot的attachment名
_slot.data.additiveBlending = true;//获取或设置slot时候用additive blending来渲染 注释:用于特效?
//Animation
Debug.Log(skeletonAnimation.skeleton.data.animations[0].duration.ToString());//动画持续时间?
List<Spine.Timeline> _timeline = skeletonAnimation.skeleton.data.animations[0].timelines;//获取动画timeline
//Skeleton
Spine.SkeletonData _data = skeletonAnimation.skeleton.data;//获取SkeletonData
Debug.Log(_data.bones[0].ToString()); //获取所有骨骼
Debug.Log(_data.slots[0].ToString());//获取所有slots
Debug.Log(skeletonAnimation.skeleton.drawOrder[0].attachment.Name);//获取所有DrawOder
Debug.Log(skeletonAnimation.skeleton.skin.name);//获取当前skin名
skeletonAnimation.skeleton.r = 0.5f;//对skin的整体偏色 有rgba四个参数
Debug.Log(skeletonAnimation.skeleton.time.ToString());//?
skeletonAnimation.skeleton.flipX = true;//skeleton翻转轴向
skeletonAnimation.skeleton.flipY = true;
skeletonAnimation.skeleton.x = 0;//skeleton的坐标
skeletonAnimation.skeleton.y = 0;
skeletonAnimation.skeleton.SetBonesToSetupPose();
skeletonAnimation.skeleton.SetSlotsToSetupPose();
skeletonAnimation.skeleton.SetToSetupPose();
//skeletonAnimation.skeleton.GetAttachment();//获取GetAttachment
//skeletonAnimation.skeleton.SetAttachment();
skeletonAnimation.skeleton.Update(0.5f);//??
}
--换装函数,但是必须在slot里有这个attachMent名
skeletonAnimation = GetComponent<SkeletonAnimation>();
skeletonAnimation.skeleton.SetAttachment("rear_upper_arm","muzzle");
skeletonAnimation.skeleton.GetAttachment();
--动画翻转
if(x > 0)
skeletonAnimation.skeleton.FlipX = false;
else if(x < 0)
skeletonAnimation.skeleton.FlipX = true;
--播放动画
skeletonAnimation.state.SetAnimation(0, hitAnimation, false);
skeletonAnimation.state.AddAnimation(0, currentAnimation, true, 0);
注:(起始帧,动画名,是否loop)
//角色之间的绘制排序
renderer.sortingOrder = -5;
原文链接:http://www.cnblogs.com/softimagewht/p/4149118.html
- 【Unity3D游戏开发】spine-unity3D 学习笔记 (二十)
- spine-unity3D 学习笔记
- spine-unity3D 学习笔记
- 【Unity3D游戏开发学习笔记】(二)Unity3D编辑器总览
- Photon + Unity3D 线上游戏开发 学习笔记(二)
- 【Unity3D游戏开发学习笔记】(一)Unity3D初认识
- Unity3D游戏开发入门学习笔记
- unity3d学习笔记(二十)--利用JSON读取和保存游戏数据
- unity3d学习笔记(二十)--利用JSON读取和保存游戏数据
- Unity3D游戏学习笔记1
- Unity3D游戏学习笔记2
- Unity3D游戏学习笔记3
- unity3D游戏开发十之粒子系统
- unity3D游戏开发十之粒子系统
- unity3D游戏开发十之粒子系统
- Unity3D 游戏开发学习资料
- Unity3D游戏开发学习随笔
- Photon + Unity3D 线上游戏开发 学习笔记(一)
- Lua 错误处理方法
- iscsi 应用
- 三数之和
- 鼠标滑过时变换背景色的方法(div+css)
- Eclipse添加ibatis DTD文件实现xml的自动提示功能
- 【Unity3D游戏开发】spine-unity3D 学习笔记 (二十)
- CSS中的绝对定位与相对定位
- 调研---自适应 ---sizeclass
- perl入门
- XCode 7.1 安装 Alcatraz包管理器失败的处理
- Android通过代码模拟物理、屏幕点击事件
- Struts2配置
- 如何在PS里把逆光曝光不足的人像进行修复并且美化
- Objective-c 之UIImage的基本使用