(1)拖动文件夹等价于拖动 .unitypackage文件
(2)StreamingAssets文件夹中的内容打包时不会放入包中
(1)拖动文件夹等价于拖动 .unitypackage文件
(2)StreamingAssets文件夹中的内容打包时不会放入包中
2018的Prefab模块被魔改了,老师的这种方式会出现断言错误,可以通过下面的方式进行加载
[MenuItem("离线数据/生成所有UI离线数据")]
public static void AllUICreate()
{
string[] allPath = AssetDatabase.FindAssets("t:Prefab", new[] { "Assets/GameData/Prefabs/UGUI" });
for (int i = 0; i < allPath.Length; i++)
{
//转明文路径
string path = AssetDatabase.GUIDToAssetPath(allPath[i]);
EditorUtility.DisplayProgressBar("生成所有UI离线数据", "Prefab:" + path, i * 1.0f / allPath.Length);
//1.新版获得对象
GameObject obj = PrefabUtility.LoadPrefabContents(path);
if (obj == null)
{
continue;
}
//调用修改数据的方法
CreateUIData(obj);
//2.新版本需要保存并释放引用
PrefabUtility.SaveAsPrefabAsset(obj, path);
PrefabUtility.UnloadPrefabContents(obj);
}
Debug.Log("所有UI离线数据生成成功");
EditorUtility.ClearProgressBar();
}
一个物体参照 世界坐标 原点 —— 世界坐标
一个物体参照 3d物体 原点 —— 局部坐标
世界坐标 转换 局部坐标 参照 3d物体坐标
局部坐标 转换 世界坐标 参照 世家坐标原点
把012围成一个圈,不管自身玩家在几号位,把它转到下面就行了,保持:1在0的右边,2在1的右边,0在2的右边。
感觉先排序,再判断2是否存在,会更有助于理解,所以我是这样写得:
public void ResetPostion(int myUserId)
{
LeftPlayerId = -1;
RightPlayerId = -1;
if (enterOrderUserIdList[0] == myUserId)
{
RightPlayerId = enterOrderUserIdList[1];
if (enterOrderUserIdList.Count == 3) { LeftPlayerId = enterOrderUserIdList[2]; }
}
else if (enterOrderUserIdList[1] == myUserId)
{
LeftPlayerId = enterOrderUserIdList[0];
if (enterOrderUserIdList.Count == 3) { RightPlayerId = enterOrderUserIdList[2]; }
}
else if (enterOrderUserIdList[2] == myUserId)
{
RightPlayerId = enterOrderUserIdList[0];
if (enterOrderUserIdList.Count == 3) { LeftPlayerId = enterOrderUserIdList[1]; }
}
}
DrallCall就是一个命令,发起方是CPU,接收方式GPU,减少DrallCall其实就是减少程序在进行图像化处理阶段,发送命令所占用的时间,从而更加快速的进行图像渲染。发送命令占用时间比例过高在整个可视化程序中展现出来的就是程序图像卡顿严重。
减少DrallCall:将摄像机上的Rendering path,由deferred修改为forward。
当服务器关闭的时候,调整所有用户的在线状态为非在线
1.Entity
2.Context
3.Group
4.Matcher
5.Collector
6.Systems
这章真的懵逼...
setautokill
playforward
主要讲了这俩函数的意思
一个是保证不被杀死动画
一个是可以一直执行动画
play只能被执行一次
0,1,2,3
4,5,6,7
8,9,10,11
看到本节,怎么觉得讲错了呢?.....1上边应该是5?奇怪!
图片加载不出来可以用下面这种形式,就不用在方法里面传参数了;
private void OnLoadSpriteTest1(string path, object obj, object param1 = null, object param2 = null, object param3 = null)
{
if (obj != null)
{
Texture2D texture = obj as Texture2D;
Sprite sprite = Sprite.Create(texture, new Rect(0,0,texture.width,texture.height),new Vector2(1f,1f));
m_MainPanel.Test1.sprite = sprite;
Debug.Log("图片1已加载");
}
}
测试可以加载出来
TCP协议的三次握手
这个二维坐标系平移太简单了,个人感觉没必要这么讲,直接就是:坐标系平移了多少,那么对应的点的坐标就平移了多少。
我知道为什么第一次服务端没有输出了,因为没写Console.WriteLine(msgReceive);
第一次这么接近老师的水平。。。
uv贴图是0-1,对应bt值,由于uv图像中心是起点,所以bt=0.5,N是Z方向,最大值是1.所以颜色值=0.5,0.5,1
MVC model view controller
链接失效了,重新上传一下
A物体相对于A'的坐标,使用transform.invver...
计算出的坐标转换回世界坐标系的时候使用transform.transformpos...;