内容简介:这是第128篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发、优化相关的问题,建议阅读时间10分钟,认真读完必有收获。UWA 问答社区:answer.uwa4d.comUWA QQ群:465082844(仅限技术交流)
这是第128篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发、优化相关的问题,建议阅读时间10分钟,认真读完必有收获。
UWA 问答社区:answer.uwa4d.com
UWA QQ群:465082844(仅限技术交流)
编译
Q1:最近在研究加速打包问题,发现IL2CPP生成代码之后每次Xcode都是全量编译(直接Build而不是Clean+Archive),我参考 这里 看了下,并对比了下,如果C#代码没有变化,生成的CPP代码的内容确实不变。但是重新生成貌似会导致文件修改时间变化或别的属性变化,Xcode依然是所有都编译了一遍,这块有什么经验么?
题主:目前准备用UWA群里大佬说的方法绕开:
“打出的Xcode用svn同步到Xcode打包项目下”—Freshair.
我用dnspy看了下,il2cpp.exe直接修改代价有点大,而且不好维护。用BeyondCompare比较了下,发现其实就> Preprocessor.h和Native文件夹俩修改时间产生了变化...
感谢钱康来@UWA问答社区分享了该问答,欢迎转至社区交流:
https://answer.uwa4d.com/question/5b90ebbb670c1a61c64d6cd3UI
Q2:我用OnPopulateMesh修改UI的顶点数据,通过Tangent向UGUI的Shader中传递一些数据,C#代码是这样写的:
public class MyRawImage : RawImage
{
protected override void OnPopulateMesh(VertexHelper vh)
{
base.OnPopulateMesh(vh);
UIVertex vert = new UIVertex();
int vertCount = vh.currentVertCount;
for(int i = 0; i <vertCount; ++i)
{
vh.PopulateUIVertex(ref vert, i);
vert.tangent = new Vector4(1,0,0,1); // 通过tangent传递数据 -----------------
vert.color = new Color(1,0,0,1); // 通过color传递数据 -----------------
vh.SetUIVertex(vert, i);
}
}
}
Shader代码:
struct appdata_t
{
float4 vertex : POSITION;
float4 color : COLOR; // color 数据 -----------------
float2 texcoord : TEXCOORD0;
float4 tangent : TANGENT; // tangent 数据 -----------------
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct v2f
{
float4 vertex : SV_POSITION;
fixed4 color : COLOR; // color 数据 -----------------
float2 texcoord : TEXCOORD0;
float4 worldPosition : TEXCOORD1;
float4 tangent : TEXCOORD2; // tangent 数据 -----------------
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert(appdata_t v)
{
v2f OUT;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT);
OUT.worldPosition = v.vertex;
OUT.vertex = UnityObjectToClipPos(OUT.worldPosition);
OUT.texcoord = v.texcoord; OUT.tangent = v.tangent; // tangent 数据 ----------------- OUT.color = v.color; // color 数据 ----------------- return OUT;
}
fixed4 frag(v2f IN) : SV_Target
{
return IN.color; // color 数据 -----------------
return IN.tangent; // tangent 数据 -----------------
}
Color数据可以正确获取到,但是Tangent始终是0,似乎UGUI没有将Tangent数据传给Shader。请问下是什么原因,还是代码哪里写的有问题?
见下图:
感谢钱康来@UWA问答社区提供了回答
该问答来自UWA问答社区,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/5b8f6497f8456e3944031084崩溃
Q3:请教一下,我使用VideoPlayer的时候,Android端调用Stop会闪退的,Unity 版本是5.6.1,大家有遇到过吗?该如何处理呢?
**低版本的Unity上VideoPlayer就是不稳定的,容易崩溃。这点我们和Unity官方的技术支持团队确认过,建议升级Unity版本,最好升到Unity 2017,如果不方便可以升到高版本的Unity 5.6 系列。
感谢吴一帆@UWA问答社区提供了回答
该回答由UWA提供,欢迎大家转至社区进一步交流:
https://answer.uwa4d.com/question/5b91f86ba711f261c1677e16动画
Q4:我想在Animation中无法加入TextMesh.color这个变量,请问该如何实现?需要在动画中修改TextMesh的a值, 但是在mat中修改没法合批。
经排查发现这个问题是由无法静态合批所致, 提示“Objects are affected by different forward lights”。经进一步测试,发现差异点为在游戏中,场景部件受到点光源照射, ForwardAdd打断合批过程, 如果把点光源屏蔽掉, 能够正常合批。
该回答由UWA提供,欢迎大家转至社区进一步交流:
https://answer.uwa4d.com/question/5b8f431cf8456e3944031080脚本
Q5:我用GetComponents的API获取GameObject的组件时,有时候获取的顺序不一致,请问这个顺序是由什么决定的呢?
之前没注意过这个问题,但是感觉挺有意思的,所以使用GetComponents和order两个关键词做了一下检索:
https://answers.unity.com/questions/1293957/reliable-order-of-components-using-getcomponents.html
https://answers.unity.com/questions/556932/does-getcomponents-return-the-components-in-the-or.html
https://stackoverflow.com/questions/42375242/unity-getcomponentsinchildrent-return-order
大意应该是——顺序应该是和你在Inspector里看到的顺序一致,但是因为这个顺序是undoc的,所以Unity什么时候改了实现导致顺序变化了并不会知会你。
不知道题主在什么情况下获取的顺序不一致,这个不一致是否是完全相同的状态多次获取结果不一样?总之,我的感觉还是不要让顺序可以影响游戏逻辑为好,毕竟这东西即使当前测试稳定,以后的版本谁知道呢。
感谢贾伟昊@UWA问答社区提供了回答
UWA: 用GetComponents获取的顺序就是Inspector中Component的顺序。如果你在Editor中改变了这个顺序,那么用这个函数API获取的就随之改变了。
该问答来自UWA问答社区,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/5b8c0a9f339d267d357c6eb6今天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题也许都只是冰山一角,我们早已在UWA问答网站上准备了更多的技术话题等你一起来探索和分享。欢迎热爱进步的你加入,也许你的方法恰能解别人的燃眉之急;而他山之“石”,也能攻你之“玉”。
官网:www.uwa4d.com
官方技术博客:blog.uwa4d.com
官方问答社区:answer.uwa4d.com
官方技术QQ群:465082844(仅限技术交流)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- gulp4增量编译
- 有赞 Android 编译进阶之路 —— 增量编译提效方案Savitar
- Unity引擎iOS增量编译方法解析
- Kotlin 1.1.60 发布,开始支持增量编译
- Rust 1.52.1 发布,默认禁用增量编译
- Kotlin 1.2.70 发布,增量编译速度提高 7 倍
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First Design Patterns
Elisabeth Freeman、Eric Freeman、Bert Bates、Kathy Sierra、Elisabeth Robson / O'Reilly Media / 2004-11-1 / USD 49.99
You're not alone. At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire),......一起来看看 《Head First Design Patterns》 这本书的介绍吧!