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

优秀html5网站织梦如何做中英文网站

优秀html5网站,织梦如何做中英文网站,产品网站建设设计方案,16种营销模型一 、事故描述 我有一个需求#xff1a;在工程文件中找得到所有的图片#xff08;Texture 2D#xff09;#xff0c;然后把WebGL发布打包时的图片压缩规则进行修改。 项目中有图片2千多张#xff0c;其中2k分辨率的图片上百张#xff0c;当我右键进行批量处理的时候在工程文件中找得到所有的图片Texture 2D然后把WebGL发布打包时的图片压缩规则进行修改。 项目中有图片2千多张其中2k分辨率的图片上百张当我右键进行批量处理的时候内存蹭蹭蹭往上冒直接吃满然后显示Unity挂掉接着其他程序也会挂最后电脑卡住… 二、原因分析 当我全选整个项目中的图片然后右键菜单执行该脚本后它加载图片的代码如下 Object[] textures Selection.GetFiltered(typeof(Texture2D), SelectionMode.DeepAssets);这个数组会爆仓内存。 其次每张图单独处理的时候我new了两个东西如下 new的第一个组件 // 创建特定平台压缩实例 TextureImporterPlatformSettings platformSettings new TextureImporterPlatformSettings(); //设置属性new的第二个组件 //设置importSettings TextureImporter importer AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(texture)) as TextureImporter; //设置属性这两个组件是在一个for循环里面用完之后没有设置为null。 三、换种思路 1、只抓取资源id string[] guids AssetDatabase.FindAssets(t:texture2d);2、用id取获取图片对象 Texture2D texture AssetDatabase.LoadAssetAtPathTexture2D(path);3、new 出来的组件记得清空 Texture2D texture AssetDatabase.LoadAssetAtPathTexture2D(path) ; TextureImporterPlatformSettings platformSettings new TextureImporterPlatformSettings(); TextureImporter importer AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(texture)) as TextureImporter;//属性赋值 //.....//-----------------清空对象-----------------至于什么时候触发GC那就不知道了 platformSettings null; importer null; texture null; 3、图片上的组件用完及时清空 static void FindAllTexture2D(){//****************************************参数设置区**********begin//TODO 做成EditWindow类型TextureImporterFormat format TextureImporterFormat.ASTC_12x12; //图片压缩格式int compressionQuality 60; //压缩比例string platform WebGL; //发布的平台 //************************************************************end//查找工程文件中的所有精灵图片string[] guids AssetDatabase.FindAssets(t:texture2d);Debug.Log($Found {guids.Length} Texture2d assets.);foreach (string guid in guids){try{string path AssetDatabase.GUIDToAssetPath(guid);Debug.Log(${path});// 使用AssetDatabase加载Texture2DTexture2D texture AssetDatabase.LoadAssetAtPathTexture2D(path);//Debug.Log(${texture.name});if (texture null) continue;// 创建特定平台压缩实例TextureImporterPlatformSettings platformSettings new TextureImporterPlatformSettings();platformSettings.overridden true;platformSettings.name platform;// 设置为压缩platformSettings.textureCompression TextureImporterCompression.Compressed;// 设置压缩格式platformSettings.format format; //TextureImporterFormat.ASTC_12x12;platformSettings.compressionQuality compressionQuality; //40platformSettings.maxTextureSize GetMaxSize(texture as Texture2D); //32//设置importSettingsTextureImporter importer AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(texture)) as TextureImporter;if (importer null) continue;importer.SetPlatformTextureSettings(platformSettings);//Apply 设置importer.SetPlatformTextureSettings(platformSettings);//保存资源importer.SaveAndReimport();//资源清空platformSettings null;importer null;texture null;}catch (Exception ex){Debug.Log( $ ~~~~~error~~~~~ 设置报错{ex.Message});}}}四、附录出错的脚本 using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEditor;public class SetTextureCompression {//****************************************参数设置区**********begin//TODO 做成EditWindow类型private static TextureImporterFormat format TextureImporterFormat.ASTC_12x12; //图片压缩格式private static int compressionQuality 60; //压缩比例private static string platform WebGL; //发布的平台 //************************************************************end/// summary/// 设置贴图在build时的压缩选项/// /summary[MenuItem(Assets/设置发布WebGL时贴图的压缩格式)]static void SetCompression(){int count 0;Object[] textures Selection.GetFiltered(typeof(Texture2D), SelectionMode.DeepAssets);if (textures.Length 0){foreach (Object texture in textures){// 创建特定平台压缩实例TextureImporterPlatformSettings platformSettings new TextureImporterPlatformSettings();platformSettings.overridden true;platformSettings.name platform;// 设置为压缩platformSettings.textureCompression TextureImporterCompression.Compressed;// 设置压缩格式platformSettings.format format; platformSettings.compressionQuality compressionQuality; platformSettings.maxTextureSize GetMaxSize(texture as Texture2D); //设置importSettingsTextureImporter importer AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(texture)) as TextureImporter;importer.SetPlatformTextureSettings(platformSettings);//Apply 设置importer.SetPlatformTextureSettings(platformSettings);//保存资源importer.SaveAndReimport();count;}//Debug.Log(Texture Compression Set!);}else{Debug.LogWarning(没有选中图片!);}Debug.Log($一共处理了{count}张图片);}/// summary/// 获取图片的分辨率取分辨率中高宽的最大值然后返回图片的【MaxSize】/// MaxSize的定义assets-Image-【Texture2D ImportSettings】-【Override For WebGL】-【Max Size】 /// 区间16,32,64,128,256,512,1024,2048,4096,8192,16384////// 举例图片分辨率 12 * 24那么图片的MaxSize 32/// /summary/// param nametexture/param/// returns/returnsstatic int GetMaxSize(Texture2D texture){//分辨率区间的预备var start new Listint { 0, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384 };var end new Listint { 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 100000 };var zones start.Zip(end, (item1, item2) (startIdx: item1, endIdx: item2)).ToList();//取分辨率高宽的最大值var size new Listint { texture.width, texture.height }.Max(); //取【宽】【高】中的最大值//判断所属的区间var maxSize zones.First(x x.startIdx size size x.endIdx).endIdx;//Debug.Log($图的分辨率 {texture.width} * {texture.height} size {size}, MaxSize {maxSize});return maxSize;} }
http://www.hkea.cn/news/14501586/

相关文章:

  • 网站备案现状网址
  • 建设网站企业排行外贸网站建设公司案例
  • 安庆市网站建设制作网站推广的阶段目标
  • 网站建设与网页设计从入门到精通 素材下载上海seo网站设计
  • 怎样建立自己网站视频四川城乡建设网网站
  • 常州的网站建设哪个网站可以做魔方图片
  • 教育培训 营销型网站系统太原建站模板
  • 南充公司网站建设网上哪里可以免费打广告
  • 黄页推广网站下载app营销策略模板
  • 杭州大型网站建设计算机网络实验 做网站的
  • 微信公众号商城网站开发网站建设和考核工作通知
  • 新乡哪里有做网站的建立网站时间
  • 做儿童网站事业单位网站建设算固定资产吗
  • 有道网站提交入口西安网站设计
  • 泉州网站建设定制网络销售怎么聊客户
  • iis网站伪静态手机上的免费销售网站建设
  • 微商如何引流与推广seo站内优化
  • 深圳建站公司招聘企业网站建设申请怎么写
  • 购物商城类网站备案WordPress页面模板功能不见了
  • 东胜区教育网站入口网站怎么做vga头
  • 邯郸网站seo平台推广方案模板
  • 关注建设银行网站wordpress加密修改密码
  • zedu小语种网站建设wordpress 开发指南
  • mysql做wp网站wordpress改变访问目录结构
  • 小网站搜什么关键词好wordpress 招聘网站
  • 濮阳门户网站开发搜索推广策略制定
  • 织梦做仿站时 为何会发生本地地址跳转网站地址网站建设专业性的评价
  • 建一个网站需要多少时间表产品定制网站开发
  • 做网站放广告赚钱手机在线做ppt模板下载网站有哪些
  • 什么网站用php做的flash网站源码带后台