当前位置: 首页 > wzjs >正文

网站维护的内容主要包括学校网站集约化建设

网站维护的内容主要包括,学校网站集约化建设,wordpress主题动态,深圳万户网络技术有限公司根据目前模型资源平均面数预算进行脚本制作,自动化校验模型面数是否符合规范。 *注:文件格式为.cs。需要放置在unity资源文件夹Assets>Editor下。 测试效果(拖一个fbx文件进unity时自动检测): 以下为完整代码 us…

根据目前模型资源平均面数预算进行脚本制作,自动化校验模型面数是否符合规范。

*注:文件格式为.cs。需要放置在unity资源文件夹Assets>Editor下。

测试效果(拖一个fbx文件进unity时自动检测):

以下为完整代码

using UnityEditor;
using UnityEngine;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System;public class FBXFaceBudgetValidator : AssetPostprocessor
{// 配置:不同前缀对应的面数预算(不区分大小写)private static readonly Dictionary<string, int> FACE_BUDGETS = new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase){{"hair_", 4000},{"hat_", 5000},{"headdress_", 5000},{"caps_", 5000},{"clothing_", 6500},{"shoe_", 2000},{"glasses_", 1000},{"mask_", 1500},{"glove_", 1000},{"necklace_", 1000},{"scarf_", 1000},{"bracelet_", 2500},{"waist_", 1000},{"satchel_", 1000},{"backpack_", 2500},{"wing_", 2500},{"cape_", 1000},{"earring_", 300},{"instrument_",3000}};// 配置:忽略校验的文件夹路径private static readonly string[] IGNORE_PATHS = { "Assets/Models/LowPoly" };void OnPostprocessModel(GameObject model){try{string assetPath = assetImporter.assetPath;//Debug.Log($"[校验器] 开始处理: {assetPath}");if (IsInIgnorePath(assetPath)){Debug.Log($"[校验器] 已忽略路径: {assetPath}");return;}string fileName = Path.GetFileNameWithoutExtension(assetPath);var sortedPrefixes = FACE_BUDGETS.Keys.OrderByDescending(p => p.Length);int maxTriangles = -1;string matchedPrefix = "";foreach (var prefix in sortedPrefixes){if (fileName.StartsWith(prefix, StringComparison.OrdinalIgnoreCase)){maxTriangles = FACE_BUDGETS[prefix];matchedPrefix = prefix;break;}}if (maxTriangles == -1){string error = $"<color=red>命名错误</color>: {fileName}\n允许的前缀列表:\n{string.Join("\n", FACE_BUDGETS.Keys)}";Debug.LogError(error, model);return;}int totalTriangles = CalculateTriangleCount(model);Debug.Log($"[校验器] 总面数合规: {totalTriangles}");if (totalTriangles > maxTriangles){string error = $"<color=red>面数超标</color>: {fileName} ({matchedPrefix})\n预算: {maxTriangles}, 实际: {totalTriangles}";Debug.LogError(error, model);}}catch (Exception ex){Debug.LogError($"[校验器] 发生异常: {ex}");}}private bool IsInIgnorePath(string assetPath){try{string fullAssetPath = Path.GetFullPath(assetPath).Replace('\\', '/').TrimEnd('/');foreach (var path in IGNORE_PATHS){string fullIgnorePath = Path.GetFullPath(path).Replace('\\', '/').TrimEnd('/') + "/";if (fullAssetPath.StartsWith(fullIgnorePath, StringComparison.OrdinalIgnoreCase)){return true;}}return false;}catch{return false;}}private int CalculateTriangleCount(GameObject model){int triangles = 0;try{foreach (var renderer in model.GetComponentsInChildren<Renderer>(true)){Mesh mesh = null;// 处理SkinnedMeshRendererif (renderer is SkinnedMeshRenderer skinnedRenderer){mesh = skinnedRenderer.sharedMesh;}// 处理普通MeshRendererelse if (renderer is MeshRenderer){var filter = renderer.GetComponent<MeshFilter>();if (filter != null){mesh = filter.sharedMesh;}}if (mesh != null && mesh.triangles != null){triangles += mesh.triangles.Length / 3;}}}catch (Exception ex){Debug.LogError($"[面数计算] 发生异常: {ex}");}return triangles;}
}

http://www.dtcms.com/wzjs/796812.html

相关文章:

  • 泉州专业建站公司网站开发怎么接入支付宝
  • 有哪些网站做国外生意的软件服务网站设计费如何做分录
  • 中国建设网官方网站地址免费发布信息的软件
  • 永久免费网站建立百度竞价广告投放
  • 有效的网站建设济源网站建设公司
  • 一个网站需要多少空间公众号模板制作精美
  • 传奇电脑版知名seo公司
  • 360网页游戏哈尔滨seo优化教程
  • p2p做网站视频制作平台
  • 大庆市让胡路区规划建设局网站湖南省建设工程造价管理站网站
  • 如何降低网站跳出率网络下载的网站模板能直接上传到虚拟主机
  • wordpress站点图标精准软件
  • 做内贸要在哪个网站找客户百度广州给做网站公司
  • 网站建设哪个公司做得好wordpress 手机端
  • 吉林省招标网官方网站wordpress右边小工具栏
  • 注册德国网站域名网站优化关键词
  • 什么软件做网站做好如何建设正规彩票网站
  • 网站建设公众号管理网站创意
  • 苏州做网站公司找苏州聚尚网络公众号开发者密钥有什么用
  • 温州企业网站排名优化郑州app制作开发
  • 网站建设一般多少钱比较合适网站建设与网页设计从入门到精通 素材下载
  • 重庆大学建设管理与房地产学院网站杭州建设信用平台
  • 厦门企业网站建设公司用vs2012怎么做网站
  • ip下的网站吗山东建设管理局网站
  • 做外贸需要有自己的网站吗网站建站授权模板下载
  • 微网站建设价格百度下载app下载
  • 查网站空间商怎样利用互联网进行网络推广
  • 网站建设专家论证会网站做淘宝客
  • 数据交易网站开发中国建设银行英语网站
  • 天津网站营销建设部资质申报网站