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

(196评价)
价格: 4019.00元
  1. 抽象方法是一个不完整的方法,他必须要实现
  2. 如果一个类里面有了抽象方法,那么这个类就得是一个抽象类。
  3. 抽象类不可以被实例化。
[展开全文]
塞尼奥尔 · 2021-10-27 · 0

 

1、命令缓冲区(Command Buffer)

 

2、固定函数渲染流水线(Fixed-Function Pipeline)简称固定管线

 

3、Shader

Gpu流水线上一些可高度编程的阶段,例如一些着色器 (顶点着色器、片元着色器等)由着色器编译出的代码,可以在GPU上运行。依靠着色器我们可以控制流水线上渲染的细节。

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

总结

 

本ke复盘之前学习内容

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

CG 数据类型

CG通常采用动态编译的方式(也支持静态编译)

动态编译可以理解为,我们在游戏运行时,把Shader代码修改了,在回到引擎中我们发现挂载该Shader的物体效果会发生变化。

 

Cg 数据类型(共7种)

float 32位

half 16位

int 32位

fixed 12位

bool 布尔数据

sampler 纹理   (共6种)

(sampler,sampler1D,sampler2D,sampler3D,samplerCUBE,samplerRECT)

*DirectX profiles 不支持samplerRECT

pc端 float / half / fixed 无差异。

因为pc端都把 half / fixed 都换算成float来计算。

 

手机端 float / half / fixed 还是有区别的。

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

Shader平台差异

 

宏的讲解。(坐标是否翻转)

 

OpenGL (写法更随意)

平台会自动补全

例:float4 v = float4(0);

 

DX(写法更严谨)

例:float4 v = float4(0,0,0,0);

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

调试工具

 

2种方法。

1:将颜色在顶点着色器 或 片元着色器 中 输出出去,来验证效果。

2: 使用 Frame Debug

(Window-Analysis-Frame Debugger)

Enable:理解为截屏

 

顶点色在Shader中的体现

例子:

o.color = v.color;

 

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

顶点着色器输出语义 + 片元着色器输出语义

 

 

顶点着色器输出结构体中常用语义

SV_POSITION (裁剪空间中的顶点坐标,结构体中必须包含一个用该语义修饰的变量。等同于DX9中的POSITION)

COLOR0 (通常用于输出第一组顶点颜色,不是必须。)

COLOR1  (通常用于输出第二组顶点颜色, 不是必须。 )

TEXCOORD0 - TEXCOORD7 (通常用于输出纹理坐标,不是必须。 )

 

片元着色器输出时常用语义

SV_Target  (输出值将会储存到渲染目标(render target)中。等同于DX9中COLOR语义。)

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

服务器日志

[展开全文]
陶敏 · 2021-10-25 · 0

Android Studio 创建新工程,Tools - AVD Manager - Create Virtual Device - Phone - 选择相应的设备 - next

x86 Images - Oreo - next - finish

点击actons中的启动,则可以模拟出安卓手机

[展开全文]
LucasDeng · 2021-10-25 · 0

Project Settings - Editor,Unity Remote - Device - Any Android Device

手机中,设置 - 开发人员选项/关于手机 - USB调试

安装Unity Remote

手机和电脑连接usb线,确认手机中显示usb已连接和已连接usb调试

[展开全文]
LucasDeng · 2021-10-25 · 0

Unity Remote 

[展开全文]
LucasDeng · 2021-10-25 · 0

Android Studio中,Android SDK - SDK Tools - Google USB Driver

Google Play上下载Unity Remote5,

[展开全文]
LucasDeng · 2021-10-25 · 0

顶点着色器输入语义

语义:

可以理解为是一个标记。

最终也就是让Shader知道在哪里读数据,并且把数据输出到哪里。

例如:

struct a2v

{

    float4 texcoord : TEXCOORD0

}

上面a2v输入结构体中的语义   :TEXCOORD0

就是将第一套uv存储在变量 texcoord 中

 

如果在输出结构体v2f中我们仍然可以用

:TEXCOORD0  (即使输入结构体a2v中已经有:TEXCOORD0了我们仍然可以使用)这是因为

语义的另一个功能就是寄存器。

 

 

:SV_POSITION

(顶点着色器后使用)

例:float4 vert ( float4 v : POSITION ) : SV_POSITION

:SV_TARGET

(片元着色器后使用)

例:fixed4 frag ( ) :SV_TARGET

以上2种语义是特殊语义,不能乱用。

有时候我们能看见 SV_POSITION &  SV_TARGETSV 被写成了 POSITION &  TARGET 这是因为在DX10 之后引入了一个叫系统数值的语义。 这时候POSITION & TARGET 就有了他自己的目的需要去做的事情。所以我们就用SV_POSITION &  SV_TARGETSV

如果不使用 SV_POSITION &  SV_TARGETSV 而用 POSITION &  TARGET 我们会发现在PS4上会出错。

我们理解为在DX10 之后为了兼容某些硬件,我们引入了新的语义 SV_POSITION &  SV_TARGETSV 而 SV_POSITION &  SV_TARGETSV 是包含  POSITION &  TARGET。

 

 

 

顶点着色器输入结构体种的语义笔记

:POSITION 

(模型空间中的顶点位置,通常是float4类型)

:  NORMAL 

(顶点法线,通常是float3类型)

:TANGENT 

(顶点切线,通常是float4类型)

TEXCOORDn

( 顶点的纹理坐标,TEXCOOD0表示第一组uv坐标纹理通常是float2 , float4类型 )

(Shader Model2 & 3 可以支持最多 8 个TEXCOORD)

(Shader Model4 & 5 可以支持最多 16 个TEXCOORD)

COLOR 

(顶点颜色,通常是fixed4类型)

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Shader库中的输入输出结构体

 

1/

.cginc文件 可以被加载进我们的Shader中

例如

写如下代码在CGPROGRAM中,加载UnityCG.cginc文件

#iclude "UnityCG.cginc"

这样我们就可以直接使用“Unity CG.cginc”文件内的变量和方法了。

 

 

2/

UnityShaderUtiilities.cginc

UnityShaderVariables.cginc

以上俩个.cginc文件是默认被加载进Shader中的。

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

sdk中的tools太新了,unity无法识别

解决方法,android/sdk替换旧版的tools

[展开全文]
LucasDeng · 2021-10-24 · 0

设置包名Identification - Package Name

设置签名Publishing Settings - Keystore - Use Existing Keystore - Browse Keystore 选择密钥文件

Keystore password 输入密码

Alias - 选择密钥文件

Password 输入密码

同一签名的apk可以覆盖安装

[展开全文]
LucasDeng · 2021-10-24 · 0

Interal:

可以不签名(使用默认的debug签名)

Gradle:

必须要求自己签名

 

 

[展开全文]
LucasDeng · 2021-10-24 · 0

Internal:

Unity内置,仅需要Android SDK支持,不能导出工程,适用于仅使用到Unity开发的项目

优点:简单,逻辑由unity完成即可,不需要和安卓交互

Gradle:

使用Gradle进行构建,需要Android SDK与Gradle支持,可以导出Android Studio工程,适用于Unity与Android交互的项目

 

如果选择Gradle,勾上Export Project

[展开全文]
LucasDeng · 2021-10-24 · 0

api27不做高端的安卓开发用不到,可以取消勾选

相应的26需要勾选,点击apply

 

[展开全文]
LucasDeng · 2021-10-24 · 0

安装android studio

在安装页面,勾选Performance(Intel@HAXM)和Android Virtual Device

 

[展开全文]
LucasDeng · 2021-10-24 · 0