自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 【OpenGL 学习笔记】三 · 光源 & 多光源

学习笔记

2022-11-28 05:39:52 633 1

原创 【Learn OpenGL 学习笔记】二 · 坐标与摄像机

学习笔记

2022-11-27 03:56:53 520

原创 【Learn OpenGL 学习笔记】一 · 前四章总结

学习笔记

2022-11-15 04:29:49 269

原创 【Unreal 踩坑记录】解决 Unreal Component Actor 无法使用 Timeline 结点的问题

解决 UE4 UE5 中 Component Actor 无法使用 Timeline 结点(Component)的问题

2022-10-19 07:40:58 1250

原创 Win10 Pro 和 Win10 家庭版需要密码的局域网共享文件配置

目标是用 Win10 Pro 共享文件,Win10 家庭版访问且能修改文件对网络安全了解的不多,看了不少方案,要么是无密码,要么是 everyone read & write,或者 guest 无密码直接访问,实在是不太想这么干找到了一些可以设定特定用户权限的方法,但是不知道为什么别人进入共享文件夹时都会有登陆窗口,我的 Win10 家庭版就是死活不出来,导致只能使用 everyone 进入最后想了一个比较 tricky 的方法1. 网络发现设置与功能开启控制面板 - 网络与共享中心 -

2021-11-26 07:44:08 1819

原创 【ShaderLab实例笔记】Overwatch Shield - 守望先锋护盾特效制作笔记

效果分析使用Reinhardt的护盾作为参考整体观察可以看出护盾是半透明的,带有一层基色,可以微微照亮周边区域绕着护盾走可以发现,护盾的背面也可以显示(关闭Cull),并且有明显的厚度蜂窝纹理蜂窝会从中心沿x轴方向搏动,仔细观察还可以发现蜂窝并不是同时搏动的蜂窝状电流电流沿着蜂窝状边缘向外扩散,不能难发现扩散的形状一个菱形所以这个效果其实是一个从护盾中心,从点变大的菱形框点亮蜂窝边缘的过程护盾边缘仔细看就会发现边缘效果由两部分组成:边缘光、交叉高亮护盾交叉线交叉线也能明显

2021-05-11 18:39:27 760 1

原创 【ShaderLab实例笔记】Gears Hammer of Dawn - 激光 & 碎石特效制作笔记

这里写自定义目录标题教程链接:Gears Hammer of Dawn项目链接:最终效果效果分析模型制作场景准备Shader编写Surface Shader基础#pragma surface surf Standard vertex:vert定义surface shader名称为“surf”使用“Standard”光照模型使用自定义的vertex shader “vert"void vert(inout appdata_full v){}Custom vertex shade

2021-05-07 17:45:00 476 3

原创 【ShaderLab踩坑记录】【待解决 / 求助】给AlphaTest添加阴影导致的奇奇怪怪的Bug

庄懂的技术美术入门课(美术向)-直播录屏-第12课偶然看到了庄懂老师的公开课,下载了工程,跟着做了一个第12节课的DOTA2角色shader,结果遇到了一个动用我全身上下的脑子(bushi)也想不清的问题…问题描述因为做了Clip,想要被Clip部分的阴影显示正确,需要做如下操作:添加正确的FallBack: FallBack "Legacy Shaders/Transparent/Cutout/VertexLit添加参数: [HideInInspector] _Cutoff (

2021-04-27 23:18:14 318

原创 【实验记录 1】使用帧调试器查看渲染事件

实验目的熟悉帧调试器的功能,各个面板的意义等进一步理解渲染流程帧调试器基本介绍帧调试器可以查看每一个渲染事件使用的shader、pass、keywords等属性,以及当前渲染的目标(如阴影映射纹理、深度纹理、帧缓存等),还可以查看shader中一些计算变量(纹理、坐标、矩阵等),配合Game窗口可以很好的理解渲染的步骤场景搭建光照平行光:Shadow Type为Soft,Render Mode为Auto(当前实验中实际执行时是Important)物体立方体:Cast Shadows

2021-03-07 17:58:23 162

原创 《Unity Shader入门精要》自学笔记(八)第九章 更复杂的光照 —— Unity的阴影

产生阴影的原理:光沿直线传播即,从光源出发,看不到的地方都处于阴影中Unity处理阴影的两种途径传统的阴影映射调用LightMode为ShadowCaster的Pass,获取光源的阴影映射纹理ShadowMap(包含可以被光源照亮的点的z值)在正常渲染的Pass中,将顶点转换到光源空间中,获取该顶点在光源空间中的xy坐标,以及深度值z使用顶点在光源空间中的xy坐标,对ShadowMap进行采样获得深度值Z若z > Z,则该点处于阴影中屏幕空间的阴影映射(Screenspace Sh

2021-03-05 12:30:17 442 1

原创 《Unity Shader入门精要》自学笔记(七)第九章 更复杂的光照 ——光照衰减

Unity中的光源Unity中光源的属性Light组件中的3个属性颜色(Color)强度(Intensity)衰减(Attenuation):Unity光源的Inspector面板中,使用该光源可以照亮的半径Range来表示以及Transform组件中的两个属性位置(Position):与衰减、强度参数一起计算到达顶点的光照强度方向(Direction):与到达顶点的光照强度、光照颜色等属性计算顶点接受的光照上面的5个属性用一个可以调节亮度的手电筒来理解就再简单不过了:颜色:手

2020-12-09 23:31:18 608 6

原创 《Unity Shader入门精要》自学笔记(六)第九章 更复杂的光照 —— 渲染路径

渲染路径

2020-12-06 12:22:16 235

原创 【Unity实践笔记】根据json文件记录的日期删除过期文件

本文接上需求分析所有文件的保存期限为1年,每次启动程序都会进行一次检测,自动删除过期的文件由于文件保存的时候是以天为文件夹进行集中保存,因此只要整个删掉当日的文件夹即可文件夹删除后,还需要对引用该文件夹和其中的文件的数据进行处理前文中创建的Json文件汇总信息类可以方便的查找到过期的文件夹,以及指向该文件夹的Json文件总体步骤如下:遍历Json文件信息链表中的Json文件信息,找到过期的Json文件及其地址path删除存储当天文件的文件夹通过path删除该过期Json删除Json文

2020-11-30 13:54:59 200

原创 【Unity踩坑记录】导航系统NavMeshAgent的红叉和红圈

哈哈哈哈哈我知道了我知道了,那个红叉的position是SetDestination的参数(可以不在navMesh可移动范围内),下面的红圈是它在navMesh上的有效destination(在可移动范围内),判断的时候只要判断transform和这个红圈的距离就可以了,但是之前的代码判断的是transform和红叉的距离,所以在一些navmesh范围内的大石头大树不可移动范围内就一直停不下来...

2020-11-30 13:33:59 767

原创 《Unity Shader入门精要》自学笔记(五)第八章 透明效果

这一章的内容巨多啊,信息量比五六七章加起来还多不过整清楚渲染顺序、深度测试、深度写入、透明度测试、透明度混合,以及它们对渲染的影响,学通这一章也就没啥问题了深度缓冲区Z-Buffer存储屏幕上的每个像素当前的深度值,值越大,离屏幕越远深度测试将当前片元的深度值与深度缓冲区中的深度值比较,若比深度缓冲区中的值大,则说明这个片元会被之前渲染过的片元挡住,没有必要再继续渲染了,所以会被丢弃(当然也可以手工设置远被舍弃,还是近被舍弃,还是一些其他的判断标准)深度写入ZWrite当一个片元通过了深度测试

2020-11-21 09:25:02 292

原创 【Unity实践笔记】根据日期生成文件,同时生成文件索引

本文接上 需求分析所有文件的保存期限为1年,在这期间可以搜索找到该文件并使用因为某些原因限制,不考虑使用windows自带的窗口进行查找,而是使用文件的id进行精确查找,或使用文件创建日期进行模糊查找因此最好是将文件的信息保存在一个文件中,查找时遍历文件中的数据,找到匹配的文件和路径,再通过路径找到该文件总体步骤如下:确定文件的创建日期和路径,生成id在相应的路径中保存文件在相应的索引文件FileDataDaily(没有则创建)中保存该文件的信息FileData若创建了Fi

2020-11-17 23:12:00 344

原创 《Unity Shader入门精要》自学笔记(四)第七章 基础纹理

如果不确定一个变量需要在哪个着色器计算,可以判断一下它是否需要一个纹理值,需要的话就要在片元着色器中计算(因为需要进行fragment单位的纹理采样),不需要的话可以随意需要顶点着色器处理的一般是一些对于模型顶点属性的计算(废话???),比如顶点坐标、顶点法线、顶点切线、顶点uv(总之就是语义里面不同于平平无奇的TEXCOORD的那一类)...

2020-11-15 10:45:30 485

原创 《Unity Shader入门精要》自学笔记(三)第六章 基础光照

种种原因鸽了很久…对于光照模型的讲解原书已经讲得非常详细了,加上懒得敲公式,笔记中只会按照自己的理解来写,标准光照模型进入摄像机的4种光线以及它们的表示方法自发光Emissive一般实时渲染中,自发光的物体只会给自己加上这个光照,而不会影响周边的物体(即:它不是光源)直接使用该材质的自发光颜色emissive环境光Ambient通常是一个全局变量高光反射Specular注意这里的高光反射只是一种经验模型根据Phong模型,高光反射的计算方法为:cspecularc_{s

2020-11-13 23:06:36 210

原创 【Unity实践笔记】使用Json存储和读取数据

using Newtonsoft.Json;using System;using System.Collections;using System.Collections.Generic;using System.IO;using System.Text;using UnityEngine;public class JsonPathManager : MonoBehaviour{ public static JsonPathManager Instance; private

2020-11-12 19:47:27 852

原创 《Unity Shader入门精要》自学笔记(二)矩阵、空间以及获取变换矩阵思路的总结

学习目标了解空间变换时获得新坐标的思路,尽量不深究矩阵的运算矩阵是什么从矩阵乘法来看,简单明了:矩阵是一个变换方法,会对相乘的向量做出一系列如旋转、缩放、平移的变换那稍稍转个弯,从向量与矩阵相乘来看,矩阵存储着一个坐标系相对于它的父标系或子坐标系的坐标当该坐标系中的点写成列向量,乘以这个矩阵的时候,就相当于对这个点做了一次到对应坐标系的空间变换坐标系中所有的点,都可以表示为坐标轴的线性组合特殊矩阵方阵单位矩阵逆矩阵转置矩阵正交矩阵逆转置矩阵矩阵运算理解性质:可结合,不可交

2020-10-21 16:52:58 505

原创 [Unity踩坑记录] 【待解决/求助】实例化的物体与原物体属性不同

发现了一个bug,时间原因没有深究解决方案,先记录一下问题描述现有ABC三个脚本,AB脚本为单例模式,有自己的静态InstanceB脚本中有一个C类变量将A脚本挂到a物体上,B脚本挂到b物体上,C脚本挂到c物体上将c物体拖到b物体上开始运行后(b、c物体比a物体更早创建),a会获取b的instance,从这个instance获取c,并通过C的一个public函数Set改变c的private变量xyz,一段时间后由b通过挂在自己身上的c实例化一个c1出来实例化出来的从c1并没有改变xyz的值,而

2020-10-19 16:46:08 393

原创 《Unity Shader入门精要》自学笔记(一)渲染流水线

学习目标了解现代GPU渲染流水线的实现流程,为后面理解shader的工作原理打好基础 渲染流水线概览一般会将整个渲染流水线分为如上图的三个阶段: 一、应用阶段 Application Stage (CPU)主要任务:准备场景数据,设置渲染状态,输出渲染图元,为下一阶段提供几何信息其他任务:粗粒度剔除(culling,剔除不可见物体)图元:渲染的基本图形,如顶点,线段,三角面输出:渲染图元渲染所需数据加载到显存中的流程:所有渲染所需数据:硬盘Hard Disk

2020-10-16 00:20:00 330

转载 【转】《Unity Shader入门精要》冯乐乐 随书彩图

绕了好多圈子终于还是沉下心来好好看这本书了…以下是原项目GitHub中分享的随书彩图学习的时候看到色彩丰富的东西会心情更好咯原项目GitHub链接前言     第2章 渲染流水线     图2.1 真实生活中的流水线   图2.2 渲染流水线中的三个概念阶段   图2.3 渲染所需的数据(两张纹理以及3个网格)从硬盘最终加载到显存中。在渲染时,GPU可以快速访问这些数据   图2.4 在

2020-10-15 17:53:05 1474

原创 [Unity实践笔记] 整页翻、防误触的ScrollView

收到

2020-09-22 17:12:36 656 1

原创 [Unity ShaderLab & ShaderGraph自学笔记] (一)萌新的小本本 —— Shader基础知识

复习了计算机图形学的基本运算,接下来还要了解Shader所在的渲染流水线的流程和作用,看一看具体要操作的shader究竟是个什么角色,在哪工作,具体做什么。  渲染流水线中的坐标系变换 —— 传说中的MVP变换M (Model --> World)即模型坐标系 → 世界坐标系就像在场景的各个位置、随意角度摆放模型、随意大小缩放,并且给它摆pose应用场景:待补充V (World --> View / Camera)即世界坐标系 → 视图 / 相机坐标

2020-09-17 23:17:18 702

原创 [Unity踩坑记录] 在电脑上开发并调试触摸相关事件

https://blog.csdn.net/inlet511/article/details/46822259https://www.cnblogs.com/QG-whz/p/4399405.html

2020-09-17 11:20:05 1876

原创 [Unity踩坑记录] 输出后Text变模糊

问题描述在unity调整好text尺寸,运行正常无模糊但是输出后text完全糊掉了相关设置Canvas的scale mode:scale with screen sizepixel perfect:✔reference pixels per unit:100Text的字体大小:14,scale:(1,1,1),width × height:160 × 100 解决方案扩大Text的width和height调大Text的字体大小调整scale值将Text调整到目标效果

2020-09-15 17:17:56 408

原创 [Unity ShaderLab & ShaderGraph自学笔记] (零)自建号的自我修养 —— 计算机图形学基本知识

[预言家]:这将是一个插满Flag、充满着迷之气息、啪啪打脸不断的自学笔记系列…终于下定决心来开坑ShaderLab啦!虽然目前版本的Shader Graph一片大好,但是还是觉得作为一个立志成为TA的人再怎么着也要学学Shader!把ShaderLab和ShaderGraph放在一起学习也是因为我认为它们俩相辅相成(也可能只是萌新的幻想)搞明白了graph的节点,写到lab里无非是些语法的问题;搞明白了lab里的语法,写一个shader无非是如何设计出酷炫的效果的问题(一个不知天高地厚的萌新如是说

2020-09-12 16:43:00 508

原创 [Unity踩坑记录] GetComponentInParent() 结果Get到了自己

问题描述层级结构代码private void Awake() { // 挂载脚本的子物体 lockerRender = GetComponent<SpriteRenderer>(); // locker的父物体 iconRender = GetComponentInParent<SpriteRenderer>(); iconCollider = GetComponentInParent<Col

2020-09-10 13:31:25 6269 1

原创 [Unity踩坑记录] 从屏幕坐标系转换到世界坐标系

public GameObject m_obj;void Update(){Vector3 mousePos = Input.mousePosition;//获取鼠标移动位置Vector3 worldPos = Camera.main.ScreenToWorldPoint(mousePos);//把鼠标的屏幕坐标转换成世界坐标m_obj.Transform.position = worldPos;//然后把世界坐标赋予给物体,从而鼠标控制物体移动。public GameObject m_obj;

2020-09-10 09:34:44 2543

原创 [Unity实践笔记] 俯视视角人物360°移动脚本

实现效果俯视视角下,wasd控制人物移动,人物可进行360°流畅转身。知识点角度计算:绕y轴软转到direction方向需要转多少度float angle = Vector3.Angle(new Vector3(0, 1, 0), direction); 在局部坐标系中旋转到(0, 0 , angle)transform.localEulerAngles = new Vector3(0, 0, angle); 不使用transform.Rotate(vec3)的原

2020-09-06 19:55:09 1078

原创 [CocosCreator 踩坑记录] 无法保存场景Failed to update asset db

问题描述无法保存场景,并出现以下报错:Failed to update asset db://assets/scences, messages: Error: EISDIR: illegal operation on a directory, open ‘F:\PlayGround\Cocos Creator Projects\StarCatcher\assets\Scenes’Failed to save scene db://assets/Scenes Error: EISDIR: illega

2020-09-02 19:20:45 2477 2

原创 [Unity备忘笔记] Layer的作用&应用

UnityManual_Layerunity 设置layer 使碰撞器不碰撞作用相机:只渲染某些Layer光照:只照亮某些Layer射线:只检测某些Layer的碰撞使用方法1. 相机

2020-09-02 11:25:06 1078

原创 [Unity踩坑记录] 使用脚本赋值自定义的颜色会变为白色

向给按钮添加一个按下后改变颜色的效果,可以简单地使用以下代码:public void PressedChangeColor(Button btn){ Text text = btn.GetComponentInChildren<Text>(); text.color = Color.red;}今天想让文字的颜色变成一个自定义的颜色(无法通过调用Color.颜色获取)先从调...

2020-05-04 10:28:26 1535 2

原创 [Unity踩坑记录] Kinematic的刚体无法与Static的地面和墙壁产生碰撞

将子弹取消为trigger之后发现子弹碰到地面和墙壁无法产生碰撞,但是却可以和Dynamic的玩家产生碰撞。原因在于切换为Kinematic后,有一个选项Use Full Kinematic Contact是默认不勾选的。在这种情况下,只检测它与Dynamic的刚体发生的碰撞,无视Kinematic和Static;如果勾选,则都会做检测。...

2020-04-26 18:28:02 2231

原创 [Unity踩坑记录] Animation - Transition优先级

遇到问题:在同一个State有多个Transition,同时转换条件所需的参数各不相同时,有无法按照预期进行转换的可能。按照图中的animator,玩家可以在任何时间发起攻击,攻击结束后默认切换回Idle状态。但是当玩家在空中完成攻击后,不会转到JumpUp或JumpDown,而是Walk,在空中漫步。 分析问题在设置Idle State的多个Transition时,它们...

2020-04-23 17:19:52 1714

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除