场景加载问题
为了方便电脑模拟出手机的环境我创建了三个宏用以加载对应平台的资源。 PC_RUN_ANDROID PC_RUN_IOS, PC_RUN_WINDOWS。
当我加载对应的资源的时候发现场景加载失败
提示错误 Couldn't open file/ Users/Administarotr ***** .unity3d (这是我们的登陆场景)
原来的 url = Util.DataPath + "scene/" + SceneMapManager.Instance().nextSceneName + ".unity3d";
修改后 url = Util.DataPath + "scene/" + SceneMapManager.Instance().nextSceneName + ".unity3d";
url = "file://"+url.Replace("/", "\\");
这是子网上找到的答案,说明我们的斜杠是有问题的,在window平台下是不认识 "/" 这个路径的
Shader丢失手机一片红色
因为在Graphcis 设置出没有添加shader到Build in 里面,因为打包的Assetbundle是没有进行shader打包的,所以出现shader丢失的情况
场景的灯光贴图到手机上一直无法显示,但是电脑上模拟的时候是发现有加载灯光贴图的
这个问题真的好久,基本上尝试了各个方法,比如有些模型上没有mesh, 有些layer的问题,有些lighting 的参数的问题,然而并没什么卵用,
而当我们开启PC_RUN_ANDROID这个指令后,发现其实贴图是没有丢失的,也就是我们的灯光贴图其实是正常的load了的,所以很奇怪为啥在手机上
的表现却是一直load不成功。后来网上找到了解决办法,在Edit/Project setttings/Graphics 下修改Shader Stripping 的modes 为Manual
(之前是Automatic)具体设置如下(注意是打包那台机器的设置必须是这样) 具体设置如下图
选人界面点击旋转就报错NullReferenceException:GetRef
打包到外网后选人界面的头像旋转报错这个 是因为动作文件的 rig 没有勾选 legency。
编辑器下使用File.copy丢失动作文件配置
在拷贝动作文件的时候使用File.Copy(srcfile, destfile);发现动作文件的一些配置数据没有了,
后来使用编辑器的拷贝就正常了,具体使用AssetDataBase.CopyAsset(srcfile, destfile);
Unity报错莫名其妙的问题,而且不是代码本身的
使用reimport all 功能会得到一些你想要的效果,一般这是unity在切换平台的时候可能出现了中断导致资源有存在了不同平台之间的情况,
不过这个过程一般比较长需要耐心等待
原点特效播放问题
动作师一般会给出一个原点动作,这个远点动作的transform信息一般情况是不变的,但是这个节点无法做到在我们蒙皮之外所以通常就会导致
特效抖动的问题,解决办法是在角色丢特效的时候在这个点放一个地面特效,这样这个特效就不会受到角色的骨骼移动而抖动了。
如何倒放动作
动作师k好了选角色的动作后,当我们点击后会出现一个旋转的选人动作,当再次点击会逆放这个动作,那么如何做到的呢? Unity 的Animation是没有
这个接口的,但是我很巧妙的使用了播放速度来解决了。具体如下
ani.speed = -1
ani.time = ani.clip.length;
ani.Play();