该项目的目的是同时测试和演示来自 Unity DOTS 技术堆栈的多个新包。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

66 行
2.1 KiB

using UnityEngine;
using UnityEditor;
using System;
public class GeometryImporter : AssetPostprocessor
{
uint m_Version = 2;
public override uint GetVersion() {return m_Version;}
/*
void OnPreprocessModel()
{
var importer = assetImporter as ModelImporter;
if (importer != null)
{
importer.addCollider = false;
importer.importMaterials = false;
//importer.materialName = ModelImporterMaterialName.BasedOnMaterialName;
//importer.materialSearch = ModelImporterMaterialSearch.Everywhere;
}
}*/
void OnPostprocessModel(GameObject go)
{
AddColisionRecursively(go);
}
void AddColisionRecursively(GameObject go)
{
if (go.name.StartsWith("collision_", StringComparison.InvariantCultureIgnoreCase))
{
go.AddComponent<MeshCollider>();
Editor.DestroyImmediate(go.GetComponent<MeshRenderer>());
if (go.name.StartsWith("collision_detail", StringComparison.InvariantCultureIgnoreCase))
{
go.layer = LayerMask.NameToLayer("collision_detail");
}
else
{
if (go.name.StartsWith("collision_player", StringComparison.InvariantCultureIgnoreCase))
{
go.layer = LayerMask.NameToLayer("collision_player");
}
}
}
foreach (Transform g in go.transform)
{
AddColisionRecursively(g.gameObject);
}
}
void OnPreprocessAsset()
{
if (assetImporter.importSettingsMissing)
{
ModelImporter modelImporter = assetImporter as ModelImporter;
if (modelImporter != null)
{
modelImporter.addCollider = false;
modelImporter.materialImportMode = ModelImporterMaterialImportMode.None;
modelImporter.materialName = ModelImporterMaterialName.BasedOnMaterialName;
modelImporter.materialSearch = ModelImporterMaterialSearch.Everywhere;
}
}
}
}