unity游戏开发入门-spine(代码片段)

熠、培养中~ 熠、培养中~     2023-03-30     376

关键词:

好久没写了,过来写一下,本文章针对代码(示例Lua)控制Spine(一种2D美术资源),这里主要针对SkeletonAnimation形式,说明方式使用代码注释记录。
代码每块全博客衔接

1.spine当前播放的动画名称

--获取SkeletonAnimation组件
 local skeleton = obj[Spine.Unity.SkeletonAnimation]
 local skeletonName = skeleton.AnimationName

2.spine当前播放的动画时长

local time = skeleton.Skeleton.Data:FindAnimation(skeletonName).Duration

3.spine动画播放控制

--播放动画:trackIndex,要播放的动画名称,是否循环
skeleton.AnimationState:SetAnimation(0, aniName, isLoop)

4.spine资源切换皮肤

同一个spine资源,修改Initial Skin属性

--skinName:皮肤名称-string
skeleton.initialSkinName = skinName
skeleton:Initialize(true)

5.spine切换层级

--levelNum:层级数-int
skeleton.sortingOrder = levelNum

6.spine操作部件

local skeletionRenderSeparator = obj[Spine.Unity.SkeletonRenderSeparator]

--增加部件
--partsName:部件名称-string
skeletionRenderSeparator.SkeletonRenderer:FindAndApplySeparatorSlots(partsName, false, true)

--获取部件
--pareName:部件的编号
skeletionRenderSeparator.partsRenderers[partNum].MeshRenderer

7.拼接

通过spine本身的皮肤拼接形成新的皮肤
举例:通过原有的皮肤(”jump“, ”stand“)形成新的皮肤(”run")

--将新皮肤从原有的皮肤复制一份出来
    local newSkin = skeletion.Data:FindSkin("jump") 
    local _skin = skeletion.Data:FindSkin(”stand“)
 --将皮肤混合
    newSkin:AddSkin(_skin)
  --将新皮肤进行应用
    skeletion:SetSkin(newSkin)
    skeletion:SetSlotsToSetupPose()

8.倒放动画

--将当前spine播放动画的起始帧与结束帧同步
    skeleton.AnimationState:GetCurrent(0).AnimationStart = 
    skeleton.AnimationState:GetCurrent(0).AnimationEnd
--播放速度反向
    skeleton.timeScale = -1 
 --延时处理后恢复动画播放速度并执行回调
    Timer.call(time, function ()
        skeleton.timeScale = 1
        --回调
        fun()
    end)

[unity学习]unity入门学习及第一个游戏(代码片段)

[Unity学习]Unity入门学习及第一个游戏跟着教程做的一个小游戏,基本上说就算我这样的零基础,两个小时就能实现。主要就是熟悉一下C#和Unity,做一个能跑的东西。简单的Demo如下:Unity学习记录01-DeliveryDriverUnity... 查看详情

[unity设计模式与游戏开发]uml入门(代码片段)

前言UML类图对软件开发者而言应该是必须要了解的工具之一,也是大学软件设计专业必学的课程之一,对我们理解设计模式有非常大的好处,但很惭愧由于我的大学专业并不是软件设计所以我之前其实对UML只是大致了... 查看详情

spine在unity中实现闪白效果

游戏开发过程中需要游戏对象被攻击的时候变白,然后有有闪烁的效果。这其实是两个效果:1.变白的效果要实现这个效果需要修改spine的shader模式。spine导入unity中时默认采用的shader是“Spine/Skeleton”需要将这个模式该为“Spine/Sk... 查看详情

用unity做一个小demo入门unity(代码片段)

...建2.素材导入三、开始项目1.将素材变为精灵2.将精灵放在游戏里3.粒子效果4.给Demo添加背景音效5.淡入淡出6.流程控制四、项目打包五、完成结语前言在小时候我的梦想就是开发一款自己的游戏而因为小时候看小说,所以对vr... 查看详情

three.js游戏开发入门(代码片段)

就在不久前,创建和部署游戏的唯一方法是选择像Unity或Unreal这样的游戏引擎,学习语言,然后打包游戏并将其部署到你选择的平台上。试图通过浏览器向用户提供游戏的想法似乎是一项不可能完成的任务。幸运的是&... 查看详情

unity入门笔记-01-从零到开始编程(代码片段)

Unity入门笔记-01-从零到开始编程前言:玩游戏着实无聊荒废时光,我决定还是找点不需要烧钱又感兴趣,同时以前没入门过的知识学习一下。无意中刷到了unity的科普视频,心想,这是个不错的机遇,说干... 查看详情

动态修改spine动画渲染层次(代码片段)

在unity中做2D游戏开发的时候我们使用sprite比较多,sprite的层次修改我们手动修改spriterenderer下面的OrderinLayer属性就行了。也可以动态的获取它的层次属性进行修改,那么怎么动态修改spine动画的层次呢,如下: 我们创建spine... 查看详情

unity开发入门

...复内容开始--- 使用Unity开发一个打飞机的初级入门小游戏。   实现功能:     一.界面UI:3个界面:1开始界面,2游戏界面,3解释界面。       1.开始界面:  主要... 查看详情

unity+spine碰撞检测

通过自己在开发的游戏过程中发现有几种做碰撞检测的方法:1.只在unity中添加collider这是最简单的一种。在Spine中编辑好骨骼动画以后导入到unity中,让后spawnbone就可以得到在Spine中的骨架,然后在需要的骨骼上加上collider。这种... 查看详情

用unity做一个小demo入门unity(代码片段)

...建2.素材导入三、开始项目1.将素材变为精灵2.将精灵放在游戏里3.粒子效果4.给Demo添加背景音效5.淡入淡出6.流程控制四、项目打包五、完成结语前言在小时候我的梦想就是开发一款自己的游戏而因为小时候看小说,所以对vr... 查看详情

unity入门笔记-07(完)-菜单&手机端&静态类&生成游戏(代码片段)

Unity入门笔记-07(完)-菜单&手机端&静态类&生成游戏前言:入门笔记的最后一篇。这个系列教程看完了。接下来有空就看例子项目,动手做点东西。目录Unity入门笔记-07(完)-菜单&手机端&静态类&生成游戏一... 查看详情

unity入门笔记-02-各种动画(代码片段)

...一篇笔记记录了从零开始安装软件,到搭建最基本的游戏场景和角色,最后开始接触了脚本代码。对unity游戏引擎的工作方式有了基本的认知。接下来开始进一步利用代码完善功能吧。目录Unity入门笔记-02-各种动画零、补... 查看详情

unity实战:教你做黄豆君(代码片段)

...备1.1导入开发所需要的资源1.2创建地形1.3改变地形颜色2.游戏中的2DCamera2.1了解Camera的基本属性2.2创建相机跟随脚本2.3把主角装载到照相机跟随脚本上3.物理碰撞系统3.1设置地形碰撞检测组件3.2为主角添加碰撞检测4.2D动画组件4.1... 查看详情

unity入门计划2d游戏中遮挡问题的处理方法&伪透视(代码片段)

目录1游戏场景中的遮挡22D&3D游戏处理遮挡的方式3Unity中的图层Layer3.1SortringLayer图层的顺序3.2OrderinLayer图层中Renderer对象的顺序3.3举例说明4伪透视图4.1y坐标值与前后关系4.2同一图层下的完全遮挡问题5方案1-使用Unity自带的方法5... 查看详情

unity知识点-3d游戏-视角跟随和键盘移动(代码片段)

前言:目前在跟着麦扣的3D游戏教程入门unity,《Unity官方游戏开发认证教程:3DRPG系列课程介绍(Unity2020)|Unity中文课堂》。教程中使用的跟随相机是安装cinemachine插件,添加CareteVirtualCamera虚拟相机。这个相机... 查看详情

游戏开发实战unity老工程师开始搞laya了,不想看官方文档,那就看我的教程吧(laya2.12.0版本|案例|入门|教程)(代码片段)

文章目录一、前言二、我做的Laya案例集合工程三、LayaAirIDE下载四、HelloWorld工程1、新建空项目2、新建场景:HelloWorld.scene3、创建一个Label显示HelloWorld4、导出代码:F125、运行测试:F6五、做一个按钮:Button1、按钮... 查看详情

游戏开发实战unity老工程师开始搞laya了,不想看官方文档,那就看我的教程吧(laya2.12.0版本|案例|入门|教程)(代码片段)

文章目录一、前言二、我做的Laya案例集合工程三、LayaAirIDE下载四、HelloWorld工程1、新建空项目2、新建场景:HelloWorld.scene3、创建一个Label显示HelloWorld4、导出代码:F125、运行测试:F6五、做一个按钮:Button1、按钮... 查看详情

spine应用--使用spine动画制作动作游戏

...些细节,我们已经满足了在unity中使用Spine动画制作动作游戏的技术基础。那么,要使用Spine动画在unity中制作一款动作游戏,究竟还有哪些是需要注意的呢? 1.主角的控制系统  主角的控制,主要分为以下三个部分:输入... 查看详情