- 博客(76)
- 收藏
- 关注
原创 TA学习之路——2.3图形的HLSL常用函数详解
第一步,创建一个Quad,并将Scale调到7第二步,创建一个MathMax材质第三步,创建一个MathMaxShader第四步,把材质挂载到Quad上MathMaxShader代码如下:关键函数运用第62行:测试效果展示(测试用例请参考1.1中的介绍):MathMinShader代码如下:关键函数运用第62行:测试效果展示(测试用例请参考1.1中的介绍)::mul 函数是 HLSL 中的内置函数,用于执行矩阵乘法或矩阵与向量的乘法。由于 Unity 使用列主序矩阵,矩阵乘法的顺序需要特别
2025-04-29 17:55:40
1392
原创 TA学习之路——2.4 图形传统光照模型详解
局部光照模型只关心直接光照部分,即直接从光源发出并照射到物体表面并反射至摄像头的光线。局部光照模型:在光照模型的定义中,当光线从光源照射到模型表面时,光线均匀被反射到各个方向,这种现象就是漫反射在漫反射的过程中,光线发生了发生了吸收和散射,而因此改变颜色和方向。
2025-04-29 17:54:17
844
原创 Shader 空间变换(七)
由于模型一开始只是一堆顶点数据(本地空间),如果要在引擎上正确显示就要先变换到世界空间,在变换到相机空间,最后投影才能够看到。
2025-04-24 15:53:46
831
原创 Unity 脚本使用(二)——UnityEngine.AI——NavMesh
Singleton class 用于访问被烘培好的 NavMesh.使用NavMesh类可以执行空间查询(spatial queries),例如路径查找和可步行性测试。此类还允许您设置特定区域类型的寻路成本,并调整寻路和避免的全局行为。
2025-04-23 00:00:36
547
原创 Stable Diffusion 制作角色三视图
对于漫画创作,DPM++ 2M Karras和UniPC是高效且稳定的首选采样方法,结合Karras噪声调度可显著提升画面质量。若需进一步优化,可参考具体场景调整步数并辅以ControlNet等工具。避免使用随机性强的采样器(如Euler a),以确保角色和风格的一致性。使用文生图参考图如下。
2025-04-21 18:47:44
443
原创 C#核心笔记——(六)框架基础
我们在编程时所需的许多核心功能并不是由C#语言提供的,而是由.NET Framework中的类型提供的。本节我们将介绍Framework在基础编程任务(例如虚的等值比较、顺序比较以及类型转换)中的作用。我们还会介绍Framework中的基本类型,例如String、DateTime和Enum.本章中的绝大部分类型位于System命名空间下,但以下几种类型除外:1.StringBuilder类型定义在System。Text命名空间中。该命名空间中还包含用于进行文本编码的类型。2.CultureInfo及其相
2025-04-18 16:04:31
1491
原创 Unity 脚本使用(一)——UnityEngine.Accessibility
将以下脚本作为ColorSwatchExample.cs添加到Assets/Editor 中,然后导航到菜单选项Window -> Color Swatch Example。获取一个调色板,该调色板应可区分正常视力(normal vision)、后斜视( deuteranopia)、前斜视(protanopia)和斜视(tritanopia)。在将调色板传递给此方法之前,先分配调色板的大小,以指定需要多少颜色。返回值指示调色板中存在多少种明确的颜色。如果该值小于调色板的大小,则调色板按顺序重复颜色。
2025-04-18 15:35:38
315
原创 轻量级Python IDE使用(五)——条件分支
条件表达式由运算符和操作数组成。判断条件可以是具有布尔属性的任意元素,包括数据、变量或由变量与运算符组成的表达式,若其布尔属性为True,条件成立;若布尔属性为False,条件不成立。算术运算符:+、-、*、/、//、%、**not,表示单个条件的“否”关系。如果“条件”的布尔属性为True,“not 条件”的布尔属性就为False;如果“条件”的布尔属性为False,“not 条件”的布尔属性就为True。and,表示多个条件之间的“与”关系。
2025-04-15 18:30:52
399
原创 TA学习之路——2.1色彩空间
色彩空间至少需要满足三项重要指标1.色域(三个基色的坐标,由此形成三角形)sRGB首先设定了RGB三个基色的坐标2.Gamma(如何对三角形进行切分)gamma并不是色彩空间,它其实只是如何对色彩进行采样的一种方式每次对比顶点切割,就会发现切割的方式不同会导致每次对应的色彩不一样,大家通常理解gamma=1的情况就是指代这样的均匀分布,这样的好处是方便计算,而非均匀切割的方式就是gamma≠1sRGB的gamma设定为≈2.2也就是说从外而向内切,先切的很细,然后逐渐变粗。
2025-04-15 10:43:02
870
原创 Shader变量的定义(四)
在Properties块中定义材质面板可见的变量,语法如下:常用类型及示例:颜色和向量:Color, Vector浮点数和范围滑动条:Float, Range(min, max)纹理:2D, Cube, 3D特殊默认值:如"bump"表示默认法线贴图。在CGPROGRAM中重新声明同名变量,类型需对应。例1 定义一个float类型的n变量:上例等同于:例2 定义一个float2类型的point1二维向量:例3 定义一个float3类型的point2三维向量:上例也可结合point1写为:
2025-04-15 10:41:06
391
原创 Shader变量与数据类型(三)
Unity ShaderLab 的变量分为 属性变量(Properties) 和 着色器代码内部变量(CG/HLSL),二者通过命名规则和语义关联。
2025-04-14 11:56:49
1492
原创 TA学习之路——1.6 PC手机图形API介绍
DirectX 是由微软开发的一套多媒体编程接口(API),主要用于 Windows 和 Xbox 平台的游戏开发和高性能图形应用。它包含多个组件,例如 Direct3D(3D 图形)、Direct2D(2D 图形)、DirectSound(音频)、DirectInput(输入设备)等,是一个综合性框架。OpenGL(Open Graphics Library)是由 Khronos Group 维护的跨平台图形 API,专注于 2D/3D 渲染。它是行业标准,广泛应用于科学计算、CAD、游戏开发等领域。
2025-04-12 05:02:05
1062
原创 TA学习之路——1.5纹理基础
宏观上来讲是一张图片微观上来讲是一种可供着色器读写的结构化存储形式通过牺牲几何细节,使1.建模工作量降低2.存储空间减低3.读取速度提高。
2025-04-07 19:33:22
1226
原创 ComfyUI模型下载与路径问题解决
1.找到路径D:\AI\ComfyUI_windows\python_embeded\Lib\site-packages\transparent_background\Remover.py文件Remover。我的存储路径为:D:\AI\ComfyUI_windows\extra.transparent-background。ckpt_base_nightly.pth复制一份,然后改名为ckpt_base_nightly_cuda_0.pt。C盘路径下其实是已经下载好这两个文件了,但是中文路径的问题。
2025-04-07 19:30:51
1671
原创 C#核心笔记——(五)框架概述
NET Ftamework中几乎所有功能都是通过大量的托管类型提供的。这些类型组织在层次化的命名空间中,并打包为一套程序集,与CLR一起构成了.NET平台。有些.NET类型是由CLR直接使用的,且对于托管宿主环境而言是必不可少的。这些类型位于一个名为mscorlib.dll的程序集中。
2025-03-12 17:04:04
1957
原创 C#核心笔记——(四)C#高级特性
自定义绑定时通过动态对象实现IDynamicMetaObjectProvider(IDMOP)接口实现的。虽然可以在C#编写类型上实现IDMOP,但是更常见情况是从一种在.NET的DLR上实现的动态语言中获得一个IDMOP对象。这些语言的对象已经隐式实现了IDMOP,通过这种方式可以直接定义操作的含义。[]?result)Duck类实际上并没有Quack方法。相反,它使用自定义绑定拦截并解释所有方法的调用。隐式和显式转换也是可重载的运算符。
2025-03-05 16:28:30
1444
原创 Stable Diffusion text2video generated按钮不起作用?
Stable Diffusion text2video generated按钮不起作用?
2025-03-05 16:26:58
257
原创 Stable Diffusion 提示词语法
1.提示词之间用英文逗号,分隔2.提示词之间是可以换行的3.权重默认为1,越靠前权重越高4.数量控制在75个单位以内。
2024-12-14 03:52:21
1483
2
原创 C#不安全代码指针的使用——vscode
它表示你的代码正在使用不安全的代码特性,比如指针类型或者函数指针。在C#中,默认情况下,项目被设置为“安全”模式,这意味着默认情况下不允许使用指针等不安全特性。Unsafe code: 指的是C#中使用 unsafe 关键字修饰的代码块,它允许你在C#中使用指针等低级操作。1.如果你确实需要使用这些不安全特性,你可以在项目的 .csproj 文件中添加一个属性来允许不安全代码。3.如果你不需要使用不安全特性,考虑重写你的代码,避免使用指针和不安全操作。2.调用需要指针的本机函数时,需要不安全的代码。
2024-10-14 20:42:00
658
原创 轻量级Python IDE使用(三)——函数
python语言中,函数通常是由函数名、参数列表以及一系列语句组成的函数体构成的。函数定义一般如下def 函数名(参数列表) 函数体def foo():以上第一的foo()函数虽然不含任何参数,但是函数名后的一对括号是不能省略的。在实际应用中,稍复杂的函数通常会包含一个或多个参数。#调用areaw = 7h = 9以下定义了无任何操作的空函数none()pass在Python中,pass语句通常可以用来作为占位符,表示什么操作也不执行。
2023-12-24 12:56:42
1179
原创 轻量级Python IDE使用(二)——缩进规则
通常就是代码编辑工具的每一行。a=1b=2c=3这里一共是5个物理行obj = {"a":1,"b":2这里一共是4个物理行obj = {"a":1,"b":2这里是一个逻辑行print("a\b\c")这里也是一个逻辑行。
2023-12-22 18:20:50
698
原创 轻量级Python IDE使用(一)——模块导入
一般情况下是一个.py为后缀的文件。此外还有.pyo、.pyd、.so、.dll等moudle能定义函数、类、变量,也能包含可执行的代码。
2023-12-22 11:09:16
1614
原创 C#学习——高级篇
官方文档链接: https://learn.microsoft.com/zh-cn/dotnet/api作用:在同一个项目有两个或多个同名的类,为了解决命名冲突,从而引入了命名空间,用户可以根据需求在不同的命名空间中定义相同名字的类,它们可以有不同的方法,并且互不干扰。1、基础命名空间基础命名空间描述System处理内建数据、数学计算、随机数的产生、环境变量、垃圾回收器及一些常见的异常和特征.System.Collections包含了一些与集合相关的类型,比如列表、队列、位
2023-12-07 00:53:32
1306
原创 C#核心笔记——(三)在C#中创建类型
而复杂的类可能包含如下内容:1.在class关键字之前:类的特性(Attribute)和修饰符。非嵌套的类修饰符有:public、internal、abstract、sealed、static、unsafe和partial。2.紧接MyClass:泛型参数、唯一基类与多个接口。3.在花括号内:类成员(方法、属性、索引器、事件、字段、构造器、重载运算符、嵌套类型和终结器)。
2023-12-07 00:51:28
1546
原创 C# 友元程序集
使用友元程序集可以将internal成员提供给其他的友元程序集访问。程序集FriendTest1.dll程序集FriendTest2.dll调用。
2023-11-29 23:40:26
1680
原创 C#核心笔记——(二)C#语言基础
方法是C#中的诸多种类的函数之一。另一种函数*,还有构造器,属性,事件,索引器,终结器。1.2 编译C#编译器将一系列.cs扩展名的源代码文件编译成程序集。程序集是.NET中的最小打包和部署单元。程序集可以是一个应用程序或者是一个库。应用程序是一个.exe文件,包含一个Main方法。库是一个.dll文件。C#的编译器是csc.exe。c#的语法基于c和c++语法。标识符是程序员为类、方法、变量等选择的名字。例:System Test Main x Console WeiteLine关键字是对编译器有
2023-11-20 19:39:51
1006
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅