private void OnModelImporteDialogWindowYes(ModelImportDialogWindow sender) { EditorUtility.SetDirty(sender.ModelImportData); ModelImportDataHelper.SetModelImporterImportSettings(sender.ModelImporter, sender.ModelImportData); _state = SkipImportAfterReimportState; AssetDatabase.ImportAsset(sender.ModelImporter.assetPath, ImportAssetOptions.ForceUpdate); var prefab = PrefabHelper.CreateOrReplacePrefab(sender.ModelPath); if (sender.ModelImportData.GenerateMesh) { MeshHelper.CopyMesh(prefab); } GenerateAnimatorIfRequired(sender.ModelImporter, sender.ModelImportData); }
private void HandleModelImportData(ModelImportData mid, string modelPath) { if (ModelImportDataHelper.CheckModeImportDataForFull(mid, ModelImporter)) { ModelImportDataHelper.SetModelImporterImportSettings(ModelImporter, mid); } else { ModelImportDataHelper.FillModelImportDataSettings(ModelImporter, mid); } var window = Dialog.ShowDialog <ModelImportDialogWindow>("Model importer", DialogType.Yes); window.Initialize(ModelImporter, mid, modelPath); window.Yes += OnModelImporteDialogWindowYes; }
private void OnPostprocessModel(GameObject model) { if (!PrefsHelper.ModeImporterActive) { return; } if (_state == SkipImportAfterReimportState) { _state = DefaultImport; return; } if (_state == SetAnimatorState) { _state = DefaultImport; SetAnimatorControllerToModel(assetPath, _animatorController.Animator); return; } var gameObjectsWithWrongScale = ModelImportDataHelper.GetGameObjectsWithWrongScale(model); if (gameObjectsWithWrongScale.Count > 0) { var wrongScaleWindow = Dialog.ShowDialog <WrongScaleWindow>("Wrong scale", DialogType.Yes); wrongScaleWindow.Initialize(gameObjectsWithWrongScale, assetPath); return; } if (!ModelImportDataHelper.CheckForRootPosition(model)) { Dialog.ShowDialog <WrongPositionOrRotationWindow>("Wrong position", DialogType.Yes); return; } if (!ModelImportDataHelper.CheckForRootRotation(model)) { Dialog.ShowDialog <WrongPositionOrRotationWindow>("Wrong rotation", DialogType.Yes); return; } var modelImportData = ModelImportDataHelper.LoadModeImportData(assetPath); if (modelImportData != null) { HandleModelImportData(modelImportData, assetPath); return; } var mid = ModelImportDataHelper.CreateModelImportData(assetPath); HandleModelImportData(mid, assetPath); }
public void Initialize(string assetPath) { _path = assetPath; _mid = ModelImportDataHelper.LoadModeImportData(assetPath); _animations = LoadAnimations(); }