❶ Unity发布的WebGL在服务器上加载超级慢,有什么解决方法吗
1.Resources文件夹里东西越多越慢,能弄成ab包就尽量弄成,图片资源预知体什么的最好别放这文件夹下。
2.建议使用brotli压缩方式。
3.那就是服务器做缓存机制,了解webgl文件包的应该度知道其文件格式,主要数据在build文件下我测试了很多次加载过程,发现大部分时间都是在下载和解压.unityweb后缀的文件上,而且.unityweb这个文件永远没缓存过,所以在服务端加个缓存机制就成了,直接看效果吧。
虽然第一次慢但是后面就很快了,但是解压unity压缩包这块也是可以优化的。
❷ unity 发布web时 Switch Platform按钮是灰色的!这怎么办求解!
5.3版本或之后针对每个平台都有特定的mole来对应,这样切换时应先下载对应的mole。比如切换android platform
❸ unity发布web后,怎么获取StreamingAssets文件夹的路径
放在Unity项目中名为StreamingAssets文件夹中的任何文件将会被一字不差地复制到目标机器上的特定文件夹里 MAC/Win: path = = Application.dataPath + "/StreamingAssets"; iOS: path = Application.dataPath + "/Raw"; Android: path = "jar:fil...
❹ unity发布webplayer怎样部署在tomcat上
webplayer是浏览器插件,只需要发布成网页工程,把工程部署到tomcat就行了
❺ Unity发布webGL白屏或者黑屏是什么情况
你可以右键查看下文件总的大小,文件过大,设置不当,就会出现这种现象,浏览器的资源有限的
❻ unity发布成WebGL中文字体显示不出来怎么办
显示器接触不好
解决方法:你把显示器接主机箱后面的接口拆下来并清理干净,再接好了试试,注意不要把接口接反了。如果接触没问题还不行,最好换一台显示器试试,以便确定是否显示器有问题。
内存条接触不好
解决方法:如果内存条有故障,一般都会有嘟嘟长短报警声,如果有报警声的话,你打开机箱把内存条拿出来用无水酒精或橡皮擦干净,重新插拔一次或者换个插槽试试,注意不要把内存条插反了。
显卡接触不好
你把显卡拆下来并清理干净,再接好了试试。如果接触没问题,最好问人借一个换一个显卡试试,以便确定是否是显卡问题。
软驱启动不当
有时软驱启动不当会造成电脑开机或重启黑屏,为避免此类情况也可以在BIOS中取消软盘启动项,开机按DEL进入BIOS然后选advancedbiossetup看见有floopy的就把它改成HDD-0或IDE-0。
系统设置引起假黑屏
解决方法:右击桌面选“属性”-“屏幕保护程序”--设置无屏幕或其他屏保并且把等待时间设长久一些。
显示器设置不当
解决方法:有时显示器承受不了显卡的高分辨率,调节显示器亮度按扭。
新驱动加入不当
如果刚安装完某个硬件的新驱动出现了黑屏故障,请到安全模式来卸载或禁用这个新驱动
进入“安全模式”方法一:开机时迅速按下F8键选择“安全模式”。
进入“安全模式方法二:
1、开始--运行--输入msconfig--确定--点击“Boot.ini”标签。
2、选择“/SAFENOOT”;第3,点击“确定”保存退出重启电脑。
3、重启之后出现的WindowsXP高级选项菜单选择“安全模式”即可。
4、如果要取消“高级选项菜单”重复上述步骤,不同的是第2步取消选择“/SAFENOOT”。)
新硬件加入不当
解决方法:检查新硬件是否插牢,将其拔下,然后换个插槽试试,并安装最新的驱动程序。如果不是以上原因,或者是,都可以先用以下常用的黑屏解决方法:开机时快速按下F8键就会出现高级启动选项菜单,接着选择“最后一次正确配置”启动电脑。
❼ 真心求教怎么自定义Unity3D 发布web的Logo和进度条样式
下面是我的找到的一些方法,自定义logo:
var config = {
width: window.innerWidth,
height: window.innerHeight,
params: {
backgroundcolor: "FFFFFF",
bordercolor: "FFFFFF",
textcolor: "FFFFFF",
logoimage: "bunny-welcome.png",
progressbarimage: "bar_frame.png",
progressframeimage: "bar.png",
enableDebugging:"0",
disableContextMenu:true
//屏蔽右键
}
};
var u = new UnityObject2(config);
或者是这种方法:
//config其实可以不用要
var config = {
width: window.innerWidth,
height: window.innerHeight,
params: {
enableDebugging:"0" }
};
var params = {
backgroundcolor: "FFFFFF",
bordercolor: "FFFFFF",
textcolor: "FFFFFF",
logoimage: "bunny-welcome.png",
progressbarimage: "bar_frame.png",
progressframeimage: "bar.png",
disableContextMenu:true
};
var u = UnityObject2({ params: params });
自定义logo其实就是这么简单
❽ 为什么unity发布web之后无法在本地嬉桓鰔ml文件
【方法一】localStorage
localStorage是按照键值对的方式读取
存储时:localStorage[key] = value;
读取时:value=localStorage[key];
保存后,即使页面关闭,下次打开页面也可以直接读取;缺点是并非保存文件,无法直接访问。
Ref: http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html
http://blog.csdn.net/dojotoolkit/article/details/6614883
【方法二】execCommand(“saveas”)
这种方法用来保存文件的代码详见:http://4umi.com/web/javascript/filewrite.php
其html部分是:
[html] view plain
<form action="#" onsubmit="return savefile(this);">
<textarea name="txt" title=" Text edit area - Alt+Z " accesskey="z" rows="10" cols="80">123</textarea>
<div>
<input title=" Save - Alt+S " class="key" accesskey="s" type="submit" value=" Save ">
<label title=" Filename - Alt+A " for="filename">As</label>
<input name="filename" class="it" id="filename" accesskey="a" type="text" size="40" value="D:\MazeSet\1">
<select name="ext" title=" Extension ">
<option value="iso-8859-1">.html</option>
<option selected="selected" value="utf-8">.txt</option>
</select>
<input title=" Remove null bytes - Alt+U " class="key" accesskey="u" onclick="this.form.elements.txt.value = unnull( this.form.elements.txt.value );" type="button" value=" Unnull ">
<input title=" Reset the form to its initial state - Alt+R " class="key" accesskey="r" type="reset" value=" Reset ">
</div>
</form>
其缺点是浏览器的支持不好,我用的IE11(偶有更新强迫症)可以运行(启用ActiveXObject),Chrome不行,可见Chrome安全性更高.
execCommand()还有很多其他用法,Ref: http://www.jsann.com/post/JS_execCommand_method.html
【方法三】File API
File API是html5新标准,既可以读文件,也可以写文件,注意这里的
读文件:OS中文件系统中的文件 读到
浏览器页面 中
写文件:将 浏览器页面数据 写到
浏览器文件系统 中
参见博客:http://www.html5rocks.com/en/tutorials/file/dndfiles/
其中讲解很详细,不过读文件时用的是读图片。这里贴一份读文本的代码
[html] view plain
<html>
<head>
<script type="text/javascript" src="ReadTest.js">
var a=new Array();
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
if(files[0])
{
var reader = new FileReader();
reader.readAsText(files[0]);
reader.onload = loaded;
}
}
function loaded(evt) {
var fileString = evt.target.result;
alert(fileString);
}
</script>
</head>
<body>
<input type="file" id="file" name="files[]" multiple />
<script type="text/javascript">
var btn=document.getElementById('file');
btn.addEventListener('change', handleFileSelect, false);
</script>
</body>
</html>
读文件用到FileReader接口,写文件使用FileWriter,写文件是要将 页面数据 写入到 浏览器的文件系统(root)
中,而我需要的是保存到
OS的文件系统中,所以采用另一种方法:先用BlobBuilder把要写入的数据合成Blob,创建表示Blob的URL,再根据不同浏览器选择保存策
略,实际就是下载文件
JS文件:
[javascript] view plain
function doSave(value, type, name) {
var blob;
if (typeof window.Blob == "function") {
blob = new Blob([value], {type: type});
} else {
var BlobBuilder = window.BlobBuilder || window.MozBlobBuilder || window.WebKitBlobBuilder || window.MSBlobBuilder;
var bb = new BlobBuilder();
bb.append(value);
blob = bb.getBlob(type);
}
var URL = window.URL || window.webkitURL;
var bloburl = URL.createObjectURL(blob);
var anchor = document.createElement("a");
if ('download' in anchor) {
anchor.style.visibility = "hidden";
anchor.href = bloburl;
anchor.download = name;
document.body.appendChild(anchor);
var evt = document.createEvent("MouseEvents");
evt.initEvent("click", true, true);
anchor.dispatchEvent(evt);
document.body.removeChild(anchor);
} else if (navigator.msSaveBlob) {
navigator.msSaveBlob(blob, name);
} else {
location.href = bloburl;
}
}
var a=new Array();
for(var i=0;i<10;i++)
a.push(i);
function Save(){
doSave(a, "text/latex", "hello.txt");
}
HTML文件:
[html] view plain
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src="SaveBlob.js"/>
</head>
<body>
<input type="button" id="savetext" value="Save" onclick="Save()"/></div>
</body>
</html>
❾ unity 发布webgl怎么加载assetbundle
由于我们要将模型资源放在远程的服务器端,但如果直接放fbx模型是不可以加载的,所以我们可以将fbx做成预设或者是直接将其打包成assetbundle格式的,然后通过www来加载获龋 1.首先要讲一下不同平台下的一个StreamingAssets路径,这是不同的。 //...
❿ U3D发布WEBGL报错,用的是火狐打开
这个发布过程用到了sockets通信,但是浏览器不兼容或者权限不足导致出错。