コード例 #1
0
    public OverlayDataAsset CreatOverlay()
    {
        if (string.IsNullOrEmpty(path) || string.IsNullOrEmpty(filename) || diffuse == null)
        {
            Debug.LogError("path or filename or texture is null !!!");
            return(null);
        }

        OverlayDataAsset oda = OverlayDataAsset.CreateInstance <OverlayDataAsset>();

        oda.overlayName = filename;
        oda.material    = uMaterial.Load();
        oda.textureList = new Texture2D[] { diffuse };
        if (!Directory.Exists(path))
        {
            Directory.CreateDirectory(path);
        }

        string      p       = path + "/" + filename + "_" + UMAUtils.Overlay + ".asset";
        IObjectBase objBase = new ObjectBase(p);

        objBase.CreatAsset(oda);
        objBase.Save();

        return(oda);
    }
コード例 #2
0
    RaceData CreatRace(UmaTPose umaTpose)//创建Race文件
    {
        if (umaTpose == null)
        {
            return(null);
        }

        RaceData rd       = new RaceData();
        RaceData targetrd = new RaceData();

        rd.expressionSet = expressionSet;

        rd.dnaConverterList    = new DnaConverterBehaviour[2];
        rd.dnaConverterList[0] = dnaConverterBehaviour;
        rd.dnaConverterList[1] = RaceMap.Instance.tutorialDan;

        rd.dnaRanges    = new DNARangeAsset[1];
        rd.dnaRanges[0] = danRange;

        rd.TPose    = umaTpose;
        rd.raceName = objBase.Name;
        string tempPath = string.Format("{0}/{1}_Race.asset", Fold, objBase.Name);

        IObjectBase race = new ObjectBase(tempPath);

        race.CreatAsset(rd);
        return(rd);
    }
コード例 #3
0
    public RaceData CreatTPose()//创建TPose文件
    {
        ModelImporter modelImporter = objBase.importer as ModelImporter;
        UmaTPose      umaTpose      = UmaTPose.CreateInstance <UMA.UmaTPose>();

        modelImporter.animationType = ModelImporterAnimationType.Human;//修改 animation类型 为 humanoid
        modelImporter.SaveAndReimport();
        umaTpose.ReadFromHumanDescription(modelImporter.humanDescription);

        string tempPath = string.Format("{0}/{1}_TPose.asset", Fold, objBase.Name);

        IObjectBase tpose = new ObjectBase(tempPath);

        tpose.CreatAsset(umaTpose);
        return(CreatRace(umaTpose));
    }
コード例 #4
0
    public RuntimeAnimatorController Creat()
    {
        AnimatorController controller = new AnimatorController();

        controller.AddParameter(ActionConst.WALK, AnimatorControllerParameterType.Bool);
        controller.AddParameter(ActionConst.HELLO, AnimatorControllerParameterType.Bool);
        controller.AddParameter(ActionConst.TALK, AnimatorControllerParameterType.Bool);
        controller.AddParameter(ActionConst.CHANGE_CLOTH, AnimatorControllerParameterType.Bool);

        //if(CharacterConst.useExpAnim)
        //{
        //    controller.AddParameter(ActionConst.EXP_SMILE, AnimatorControllerParameterType.Bool);
        //    controller.AddParameter(ActionConst.EXP_TALK, AnimatorControllerParameterType.Bool);
        //}

        IObjectBase objBase = new ObjectBase(AnimPath);

        objBase.CreatAsset(controller);

        IEditorAnimationLayer baselayer = new EditorAnimationLayer_base(resType, controller, sex);

        baselayer.Create();
        IEditorAnimationLayer fittingroomlayer = new EditorAnimationLayer_fittingroom(resType, controller, sex);

        fittingroomlayer.Create();

        //if (CharacterConst.useExpAnim)
        //{
        //    IEditorAnimationLayer expressionlayer = new EditorAnimationLayer_expression(controller, sex);
        //    expressionlayer.Create();
        //}


        objBase.ImportAsset(ImportAssetOptions.ForceUpdate);

        return(controller);
    }