Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 3987.00元

合批规则

1.遍历ui

2.根据深度值,材质id,图片id,rendersort依次进行一个深度处理

3.list中所有深度值为-1的都要剔除掉

4.相邻的元素是否能进行合批

[展开全文]
也该告一段落了 · 2022-02-13 · 0

首先根据材质排序

判断图片id排序

面板顺序排序

[展开全文]
也该告一段落了 · 2022-02-13 · 0

depth(深度)优先级最高

不渲染的深度值为-1

深度越小越先渲染

当前得ui元素会判断底下得ui元素是否能够合批

如果不能合批得话,那么我当前得ui元素得深度值是底下ui元素深度值+1

[展开全文]
也该告一段落了 · 2022-02-13 · 0

合批

把能够合并mesh得这部分合并到一起

判断合批 :

1.图片是否一样的

2.材质是否一样的

[展开全文]
也该告一段落了 · 2022-02-13 · 0

直接LookAt目标位置的x,y坐标和塔的z坐标就行,保证LookAt在塔的同一平面上就不会旋转了

[展开全文]
WithFaith · 2022-01-28 · 0

从这里开始有点迷惑,必要的话返回重新听

 

[展开全文]
wangze0097 · 2022-01-24 · 0

select 可以做投影操作,或M(x)

操作,完成一个从选出的对象到另一个对象的映射

[展开全文]
roger.ruo · 2022-01-22 · 0

ReactiveX是什么?

设X是一个类型,

我们可以观察一个类型的实例x,

设该实例随时间变化的状态为x1,x2,...xn,

则构成一个序列:

x1,x2,...,xn

定义为一个流,

名为ReactiveX

如此,观察x的变化,

就转化为对流ReactiveX进行操作。

x--observe->ReactiveX

 

 

Subscirbe 订阅一个流

First 得到x1

...

同理,一个系统,或其某一部分的状态,

可以定义为X,

则我们可以通过ReactiveX观察系统或

其某一部分的状态变化,

流可以声明,

流是对系统状态变化所做响应的声明,

这就是声明式编程,相对的概念是过程式编程。

在声明式编程中,变量被看成一个流,在过程式编程中,变量被看成是一个在任何给定时刻的一个特定状态。因为状态是变化的,所以你的代码就得造成变化,判断变化,操作变化。

在声明式编程中,变量被看成一个流,好吧,当时间变化时,它还是一个流。你只需要说,我要流里面的第一个,我要按第一个的值加1,得到一个新东西y,再把y的值放到另一个流里面,比如。这种对流的操作可以规范化,模型也比较直观,避免了每次都从x写起。我们lifted了,提升了,变成ReactiveX了。

设系统的全部类型的集合为setX,

对其中的每个元素进行Reactive化,

我们可以得到集合Reactive-setX,

该Reactive-setX是类型集合setX的

流操作描述。

根据需要,流还可以组合,过滤啥的。

因此,可以建立起一个系统的流层:

system

gamobject

comonents

stream layer (reactived)

discreate types

 

[展开全文]
roger.ruo · 2022-01-22 · 0

除Awake以外 都可以控制脚本对象的setActive状态

类内枚举必须用类名.出来

 

Inspector>外部调用(外部赋值)>Awake>OnEnable>Start

[展开全文]
wangze0097 · 2022-01-22 · 0

Inspector》Awake》OnEnable》

 

 

Start

 

 

 

 

[展开全文]
wangze0097 · 2022-01-22 · 0

在退出页面时,由于只能回到主面板,所以需要使用mUIFacade.currentScenePanelDict[StringManager.MainPanel].EnterPanel();

[展开全文]
wangze0097 · 2022-01-20 · 0

言简意赅,不错!!!

[展开全文]
roger.ruo · 2022-01-20 · 0

由于 setpanel中有三个做好的页面,选项,数据统计,制作方,所以需要引用他们

[展开全文]
wangze0097 · 2022-01-20 · 0

public void InitDict(){

    foreach (var item in mUIManager.currentScenePanelDict)

    {

        // Debug.Log(canvasTransform);

        item.Value.transform.SetParent(canvasTransform);

        item.Value.transform.localPosition = Vector3.zero;

        item.Value.transform.localScale = Vector3.one;

        IBasePanel basePanel = item.Value.GetComponent<IBasePanel>();

        if (basePanel==null)

        {

            Debug.Log("获取面板上IBasePanel脚本失败");

        }

        //TODO:初始化脚本

        basePanel.InitPanel();

        currentScenePanelDict.Add(item.Key,basePanel);

    }

  }

 

这里为什么从mUIManager.currentScenePanelDict遍历后又赋值给currentScenePanelDict

[展开全文]
wangze0097 · 2022-01-19 · 0

mask.transform.SetSiblingIndex(100);

[展开全文]
wangze0097 · 2022-01-19 · 0

和其他子物体没法进行合批

[展开全文]
JCYTop · 2021-12-14 · 0

漫反射

 

(本节介绍了,漫反射与点乘的关系,有必要学一下)

(讲解为什么法线向量与入射光线的点乘为COS角度)

 

当光线垂直射入物体后,反射的光线是最强的。

当光线几乎平行于表面,反射的光线是最弱的。

C (diffuse) =  C (光) . m (物体) . max(0,(n向量 . l 向量)) 

 

 

 

[展开全文]
pilishen000 · 2021-12-09 · 0