FGUI编辑器中加两个3d内容装载器,然后导出到Unity中去
这里要加入两个宏,官网有介绍 FAIRYGUI_DRAGONBONES;FAIRYGUI_SPINE
这是 FairyGUI官网 https://www.fairygui.com/docs/guide/editor/skeleton.html
下载龙骨sdk并导入,去gitHub下载源码,把DragonBones这个文件夹加入到Assets中去:DragonBonesCSharp/Unity/Demos/Assets/DragonBones
gitHub有介绍 https://github.com/DragonBones/DragonBonesCSharp
下载spine的sdk.unitypackage,导入到自己的项目去
官网:http://zh.esotericsoftware.com/spine-unity-download/
包体:https://esotericsoftware.com/files/runtimes/unity/spine-unity-3.8-2020-10-14.unitypackage
using DragonBones;
using FairyGUI;
using Spine.Unity;
using UnityEngine;
public class AnimationCurMain : MonoBehaviour
{
void Awake()
{
GRoot.inst.SetContentScaleFactor(1334, 750);
UIPackage.AddPackage("FGUI/AnimationCur");//我FGUI设置导入是Assets/Resources/FGUI
var tCom = UIPackage.CreateObject("AnimationCur", "main").asCom;
GRoot.inst.AddChild(tCom);
gLoad3d_dragon = tCom.GetChild("dragon").asLoader3D;
gLoad3d_spine = tCom.GetChild("spine").asLoader3D;
}
GLoader3D gLoad3d_dragon;
GLoader3D gLoad3d_spine;
private void OnGUI()
{
if (GUILayout.Button("load_dragon"))
{//我这里直接加载 龙骨sdk里面的机器刀人
var data = UnityFactory.factory.LoadDragonBonesData("mecha_1004d/mecha_1004d_ske");
UnityFactory.factory.LoadTextureAtlasData("mecha_1004d/mecha_1004d_tex");//这句有必要
gLoad3d_dragon.SetDragonBones(data, 200, 200, Vector2.right);
gLoad3d_dragon.armatureComponent.animation.Play("idle");
}
if (GUILayout.Button("hit_dragon"))
{
gLoad3d_dragon.armatureComponent.animation.Play("hit", 0);
}
if (GUILayout.Button("load_spine"))
{//我这里把spine的sdk的Doi_SkeletonData copy到Resources下ren文件夹
var playerData = Resources.Load<SkeletonDataAsset>("ren/Doi_SkeletonData");
gLoad3d_spine.SetSpine(playerData, 200, 200, Vector2.right);//SkeletonDataAsset
}
if (GUILayout.Button("main_spine"))
{
gLoad3d_spine.spineAnimation.loop = true;
gLoad3d_spine.spineAnimation.AnimationName = "main";
}
}
}
点击左上角的按钮