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

(197评价)
价格: 3000.00元

属性控制

内容概要

1/属性快

Properties

_MainTex("Texture",2D) = "white"{ }

_Color("Color",Color) = (1,1,1,1)

}

定义的属性块需要在CGPROGRAM中再次进行定义

 

.xyzw   和 .rgba 是一样的。

 

当我们的一个变量是3维的(例如:float3 color)

那么我们需要用一个3维的去与他相乘,(例如:color *= _Color.rgb),如果用非3维的向量去与之相乘会报错。

 

 

 

 

 

 

 

[展开全文]
pilishen000 · 2021-10-22 · 0

无框架的项目不用完全杜绝,体量小的一次性项目

[展开全文]
studying · 2021-10-21 · 0

private static 在同一个类名脚本中都可以访问到。

[展开全文]
studying · 2021-10-21 · 0

输出结构体

构造函数a2v的命名

a: application 应用

2:to 到

v: vert 顶点着色器

 

构造函数v2f的命名

v: vert 顶点着色器

2:to 到

f:frag 片元着色器

 

 

本节概要

Shader中2个构造函数名字的含义。

2个构造函数中各个成员语义的意义。

顶点着色器返回值和写法讲解。

如何将区间(-1,1)转变为(0,1)。

 

 

[展开全文]
pilishen000 · 2021-10-19 · 0

Shader 输入结构体

:SV_TARGET(是渲染到RenderTarget中,RenderTarget是默认的缓存叫做帧缓存)

:POSITION(语义:输入的模型顶点信息)

:SV_POSOTION(语义:顶点输出之后的裁剪空间的顶点信息)

以上三种都是CG,HLSL中的语义,语义是告诉程序,我们输入的是什么。

例如:顶点着色器的参数(float4 v:POSITION)

float4告诉我们这是一个4维的变量。

:POSITION告诉我们这是输入的模型顶点信息。

 

理解a2v结构体,这个a2v名字可以随便命名,但是要确保和地下顶点着色器中的参数名字保持一直。

结构体中的每一个成员,都需要有一个语义去标注。

 

理解 vert( ) 方法 的结构:

  1/返回值float4是被 :SV_POSITION语义标注的

  代表裁剪空间顶线信息。

  2/参数a2v 是一个结构体,考虑到可能要输入大量的模型空间的信息。例如,顶点信息,法线信息,uv信息等,固使用结构体来作为方法参数。

 

[展开全文]
pilishen000 · 2021-10-19 · 0

有新的发現麻?

[展开全文]
kira43216987 · 2021-10-14 · 0

Forward 拼错了

[展开全文]
杰孒丶 · 2021-09-25 · 0

资源加载时,预先对其依赖的资源加载。

卸载时,对其依赖的资源卸载。

[展开全文]
studying · 2021-09-22 · 0

桥接模式的意图是:将抽象部分与实现部分分离,使得它们都可以独立的变化。

[展开全文]
studying · 2021-09-22 · 0

路由机制:路由就是URL到函数的映射。本框架中使用URL到资源对象地址的映射

[展开全文]
studying · 2021-09-22 · 0

Visual Studio 查看类图

 

[展开全文]
studying · 2021-09-21 · 0

啊,团子大家族,泪目了

[展开全文]
奥尔加一直卡 · 2021-09-11 · 0

逻辑很混乱啊

[展开全文]
音质 · 2021-09-10 · 0

疑问

 

改变当前场景状态的方法和离开场景的方法感觉有点冲突。

[展开全文]
Zeroto · 2021-09-08 · 0

js里用json更舒服

[展开全文]
CobCannon · 2021-09-08 · 0

看一个方法的API,打逗号

[展开全文]
464849494 · 2021-09-04 · 0

ShootBall脚本IsCross方法问题:

因为本游戏是2D游戏,而Z坐标的位置会影响两个球的距离,所以应当使用Vector2.Distance方法判断,而非Vector3。

修改如下:

    public bool IsCross(Vector3 targetPos, float dis)
    {
        return Vector2.Distance(transform.position, targetPos) <= dis;
    }

 

[展开全文]
东北府 · 2021-09-04 · 2
TextAsset itemText = Resources.Load<TextAsset>("Items");

要把Items.json文件放在Resources目录下,不然会报空指针。

[展开全文]
天降小兵 · 2021-09-04 · 0

基类:Item(物品类)

派生类:Consumable(消耗品类),Equipment(装备类),Weapon(武器类),Material(材料类)

public class Item

{

//物品(公有的的属性)

}

public class Consumable:Item

{

//消耗品的属性

}

public class Equipment:Item

{

//武器的属性

}

public class Material:Item

{

//材料的属性

}

[展开全文]
天降小兵 · 2021-09-03 · 0

前面ObjectPool脚本的GetObject方法中,while循环中都掉了return,导致运行就卡死。

其中有一次运行的时候控制台提示内存溢出,就找了下脚本中有循环的部分,发现是GetObject函数写错了,漏写了return。

while (i-->0) {
    T t = pool[i];
    pool.RemoveAt(i);
    //return t;  //开始的时候这句漏写了
}

 

    另外,正确的写法并没有循环,所以把while改成了if,至少写错的情况下也不会有死循环的情况。

[展开全文]
东北府 · 2021-09-01 · 0