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

(197评价)
价格: 4431.00元

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

jdk的数字签名是否有效

安装JDK与JRE,目录随意,但不可以是同一个

安装完成后,右键“此电脑”,高级系统设置-环境变量-系统变量,新建“JAVA_HOME”变量,变量值为JDK的根目录

找到path,点击编辑 - 编辑文本,添加JDK和JRE的根目录,用分号隔开

再新建,变量名CLASSPATH,变量值.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;

在运行管理器中输入java -version,验证是否配置成功

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

Build Settings窗口中下载安卓的支持包

安装java环境,即jdk,下载合适的版本,windows x64,建议用ie下载

下载android studio

 

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

结构体可以实现接口

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

父节点可以引用子节点,子节点要调用父节点的方法时,可以用事件和委托。

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

属性控制

内容概要

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