376 1 分钟

最常使用到的就是矢量和矩阵(数学的分支之一 —— 线性代数) # 笛卡尔坐标系 大部分的计算位置、距离和角度等变量都是在笛卡尔坐标系下进行的。 # 二维笛卡尔坐标系 一个特殊的位置,原点,它是整个坐标系的中心 两条过原点相互垂直的矢量,x 轴和 y 轴。 不同的渲染方式,坐标系不同 # 三维笛卡尔坐标系 三个坐标轴相互垂直,长度为 1,这样的基矢量被称为标准正交基 这三个坐标轴被称为是基矢量 # 左手坐标系和右手坐标系 在二维笛卡尔坐标系中,我们可以通过旋转将任何的坐标系重合,也就是说所有的二维笛卡尔坐标系都是等价的。 但对于 三维坐标系 ,有时不能靠这种旋转来使 2...
2.7k 2 分钟

# 第三章 UnityShader 基础 正式进入 shader 学习了,好耶! 使用 UnityShader 的流程: 创建一个材质 创建一个 UnityShader,为材质添加 把材质赋给对象 调整 shader 属性 # 创建 Shader Unity 包含了多种 shader 模板供我们使用。 Standard Surface Shader 标准光照模型 Unlit Shader 不包含光照(但包含雾效) mage Effect Shader 实现各种屏幕后处理效果 Unity Shader 的导入面板还可以方便地查看其使用的渲染队列(Render...
1.6k 1 分钟

在之前 Unity 想要实现延迟执行或者是等待,要么只能使用自己计数的方法,要么使用协程。 # Ep.1 协程 首先让我们来看一个协程示例: 示例是循环 10 次,每次等待 0.2s。 协程示例IEnumerator Func(){ for (int i = 0; i < 10; i++) { print(i); yield return new WaitForSeconds(0.2f); }}// 启动协程StartCoroutine(Func());# Ep.2 Async 异步 Async...
235 1 分钟

因在世界上与他人的联系,我们的存在有了价值。 这是我很久之前,大概是在《四月是你的谎言》里听 薰 对 有马 说的话,我们享受着这份链接,也受制于这份链接。 每个人都有必须要去做的事情,可能是使命一样的东西,有的是自己给自己的,有的是被社会或环境所强压的。 受制于这种链接,要想去打破,就像是打破规则,要挣脱太多的锁链捆绑。 和人世分得太清楚就会孤寡。和人世走得太近则会前行受困。 如何保持一种微妙平衡已成为全面认识事物的希冀📬 。 比起为无能为力的事而后悔,还不如去做力所能及的事!—— 侑子
2.3k 2 分钟

因为第一章内容太少,就再更一章吧~ # 第二篇 渲染流水线 Q: 渲染流水线在干什么? A: 渲染流水线的最终目的在于生成或者说是渲染一张二维纹理,即我们在电脑屏幕上看到的所有效果。它的输入是一个虚拟摄像机、一些光源、一些 Shader 以及纹理等。 使用流水线的好处在于可以提高单位时间的生产量。 流水线系统中决定最后生产速度的是最慢的工序所需的时间 ( 短板效应 ) 理想情况下,如果把一个非流水线系统分成 n 个流水线阶段,且每个阶段耗费时间相同的话,会使整个系统得到 n 倍的速度提升。(多线渲染?) # 渲染流程 (概念上的流水线) 渲染流程分成 3...
731 1 分钟

# 致自己 之前我学习过一段时间的 Shader 入门精要(大概是学到第六章吧),但后面的章节都没有学习,加上时间久远很多内容都忘记了,故打算重新学一遍。 为了勉励自己坚持下去,也为了记录一些学习过程,此系列就出现啦! ❤️ ❤️ (希望自己能够坚持学完,在渲染方面有所收获,可以制作出满意的效果) 📑 此系列每周一更 # 第一篇 欢迎来到 Shader 的世界 # 语录 程序员的三大浪漫是编译原理、操作系统和图形学(是的,我已经听到很多人在反驳这句话了,不要当真啦) 我们是程序员中的 “外貌协会”,期待着用代码编写出一个绚丽多姿的世界。这就是我们的浪漫。 我们之所以要学习...
1.8k 2 分钟

除去三大功能外,NodeCanvas 还有一些别的有趣的东西,能帮助我们改进 3 大流程。 # Standalone Action List 给对线添加如上脚本后,我们可以在对象上进行一些可视化的对话构建。 # 自定义 Action 和 Condition 我们可以自定义自己的节点,方便我们在 3 大功能上使用。 生成脚本如下: 生成的行为using NodeCanvas.Framework;using ParadoxNotion.Design;namespace NodeCanvas.Tasks.Actions{ [Category("my")]...
401 1 分钟

# 主要功能 基础功能都有,具备良好的扩展性。 播放对话 对话音效 分支对话 概览对话 条件对话 … # 快速食用 # 添加脚本 # 添加角色并给角色添加 # 编写对话树 # 启动对话树 默认是不启动 对话树的,可以在代码中控制启动也可以在属性面板设置游戏开始时启动。 public DialogueTreeController dialogueTreeController;private void Update(){ if (Input.GetKeyDown(KeyCode.X)) {...