avatar
文章
25
标签
16
分类
20
首页
时间轴
标签
分类
友链
关于
游戏开发笔记
首页
时间轴
标签
分类
友链
关于

游戏开发笔记

Unity之Mesh网格
发表于2025-06-16|UnityMesh编程
引言: 本笔记为各方资料整理,如有侵权请联系 创建一个简单的网格渲染事物 在 Unity 中,如果你想将某些内容可视化,可以使用网格。它可以是从其他程序导出的 3D 模型,也可以是程序生成的网格,还可以是精灵图、UI 元素或粒子系统,这些 Unity 也使用网格来实现。甚至屏幕效果也使用网格进行渲染。 那么,什么是网格?? 一组3D空间点+一组连接点的三角形(这些三角形构成了网格所代表内容的表面。) 由于三角形是平面的,且边缘笔直,因此它们可以用来完美地呈现平面和直线的物体,例如立方体的面。曲面或圆形表面只能通过使用许多小三角形来近似。如果三角形看起来足够小(不大于一个像素),那么您将无法察觉到这种近似。通常,这对于实时性能来说是不可行的,因此表面总会呈现出某种程度的锯齿状。 ​ 图1 Unity默认立方体以及线宽(能看到锯齿) 如何显示线框? 您可以在场景视图的左侧工具栏中选择其显示模式。前三个选项分别是“Shaded”(阴影)、“Wireframe”(线框)和“Shaded...
Shader实战案例
发表于2025-05-19|Shader
注:本系列为shader实战的精品案例,这些是必须要掌握的 UV扰动之水纹效果 思路:利用噪声图信息偏移主UV图坐标,形成扰动效果。利用_Time平移顶点实现动画效果_,使扭曲纹理看起来在 X 和 Y 方向上滚动。 准备一张水面图,一张噪声图,噪声图可以看老唐shader,会讲如何制作。 效果图: 下面将一些:前置的知识点。 1.什么是噪声 它的本质是一种由数学算法公式生成的有规则性或可控的随机数据。 特性: 随机性:噪声数据本质上是随机的,这意味着它具有不规则性,无法通过简单的模式预测 平滑性:数据不会突然跳跃或变化,而是呈现出逐渐过渡的效果,适合模拟自然现象 周期性:随着坐标的变化,噪声值会重复出现,形成一个封闭的循环。也可以通过调整噪声的范围或修 改算法来避免 可调性:大多数噪声算法的输出是可以调整的,这种可调性允许你根据需求灵活地控制噪声的表现,适 应不同的视觉效果或逻辑处理需求 5....
多媒体技术基础
发表于2025-05-18|多媒体技术基础
一些术语的简单介绍,比如采样,离散等等。 注:此文中所有关于声音处理的采样压缩对于图片同样适用。 第一章 多媒体概要第一节 多媒体技术概要一、 多媒体是什么? 多媒体是融合两种或两种以上媒体的人机互动的信息交流和传播媒体 媒体的种类: 文图声像画 注:多媒体信息是以数字形式而不是以模拟信号形式存储或传输的。 ​ 如考到多媒体,这上述三点全答 二、超文本、超链接和超媒体 超文本是什么 包含指向其他文档或文档元素的指针的电子文档。 超链接是什么 两个对象或两个元素之间的定向逻辑链接。 超链接实际上是一个对象指向另一个对象的指针。 超媒体是什么 包含指向文图声像画文档或文档元素的指针的电子文档。 超媒体的应用:Web(万维网),PPT,PDF 三、多媒体的层次结构 基础层 计算机结构 系统层 驱动程序和操作系统 服务层 数据处理传输 应用层 用户接口,教学,API设计。 第二节 多媒体数据压缩与编码一、数据压缩与编码 数据压缩...
实战中的问题
发表于2025-05-13|案例Lily奥德赛
实战中的问题一、人物为什么没有动画情况下是张开双臂的状态 答案:建模时要绑定骨骼,四肢要明确反映出来,具体到底是头躯干还是腿,默认使用T字模型。 二、速通新InputSystem1.InputSystem是什么 绑定—》按下—》开始、触发、结束三个事件 2.Action参数 3.输入动作设置 4. 相互作用设置 5.值加工设置 6.按键绑定 7.InputAction类使用(1)启用输入检测 委托变量.Enable(); (2)操作监听 三个基本事件 监听函数 使用CallbackContext获取信息CallbackContext context参数包含了触发动作的所有信息。你可以使用这个上下文来访问更多细节,例如: context.ReadValue<float>(): 获取输入值(例如,对于键盘按键或手柄按钮)。 context.control: 获取触发该动作的输入控件。 context.interaction: 获取当前交互类型(例如,是否为按下、释放等)。 context.phase:...
面试题库
发表于2025-05-10|面试
C#相关 1. 装箱和拆箱是指什么? 解析查看 1.装箱——把栈中内容迁移到堆中去(值转引用) 2.装箱——把堆中内容迁移到栈中去(引用转值) 3.如果问到值类型和引用类型同样,要引申这个 2. 值和引用类型在变量赋值时的区别是什么? 解析查看 1.值类型在赋值时只是把数据值复制过去,值类型数据值具有独立性 2.引用类型在赋值时复制的是引用(地址),一这意味着两个变量指向同一个对象,对其中一个变量进行修改也会影响到另外一个变量。 3. 委托和事件在使用上的区别是什么? 解析查看 1.委托可以在外部调用,但是事件不能在外部直接调用,只能通过+=或者-=来取消/订阅事件 2.想要调用必须在类内部再封装一个方法来调用事件 3.事件不能在外部直接赋值,但是委托可以 代码查看 public class Publisher { public event NotificationHandler Notify; // 封装为事件 public void SendMessage(string msg) { ...
渲染管线基础
发表于2025-05-08|渲染
该内容基于Games101课程,内容可能有些杂乱,后续会详细整理。建议学习shader之前要看过一遍101 渲染管线基础 所谓渲染就是把三维空间的物体变成一张图 渲染管线就是将数据分阶段的变为屏幕图像的过程 具体绘制流程如下: 模型空间变换到世界空间 世界空间变换到观察空间 观察空间变换到裁剪空间 裁剪空间变换到屏幕空间 拿到屏幕空间对应映射的位置后,进行光栅化绘制像素 渲染管线分为三个阶段 应用阶段 该阶段中我们将渲染需要的数据传递给GPU用于后续两个阶段的处理 该阶段主导者为CPU 该阶段为渲染做了哪些准备?? 把不可见的物体数据剔除 准备好模型相关数据(顶点、法线、切线、贴图、着色器等等) 将数据加载到显存中 设置渲染状态(设置网格需要使用哪个着色器、材质、光源属性等等) 调用DrawCall(CPU通知GPU使用相关的数据和渲染状态进行渲染) 几何阶段 图元:几何体的最小可绘制单元。就是由顶点数据组合成的点、线、三角形。 ​ ...
Lua进阶
发表于2025-05-07|Lua
Lua进阶1. ipairs和pairs的区别 使用ipairs遍历时:下标不是数字或者不是递增数字(断了),遍历就会直接结束 使用pairs遍历时:直接不管什么都能遍历,很可靠。 正常情况下遍历,没有任何区别 12345678910111213141516171819202122local tbl1 = { "apple", "pear", "orange", "grape" }print("=============ipairs的执行结果=============")for i, v in ipairs(tbl1) do print(i, '=', v)endprint("=============pairs的执行结果==============")for i, v in pairs(tbl1) do print(i, '=',...
Lua基础
发表于2025-05-04|Lua
Lua基础Lua 教程 | 菜鸟教程(https://www.runoob.com/lua/lua-tutorial.html) 嫌啰嗦可以看这个 一、简单变量 分为:nil,number,string,boolean。 1.变量申明 lua中所有的变量申明,都不需要申明变量类型,它会自动判断类型。而且可以随便赋值。 1a=1 2.nil nil 类似于C#中的null,空的概念,也等同于false 123a=nilprint(a)--打印结果为nil 3.number 所有的数值都是number。默认只有一种double类型 12345a=1print(a)a=1.2print(a)--打印结果为:1 1.2 4.string 字符串的声明 使用单引号或者双引号,都能声明。 lua中没有char 12a='123'print(a) 5. boolean 包含两个值false和true。 123a=trueprint(a)--打印结果为:true 6.如何得到变量类型 通过type函数 ...
高频算法30讲
发表于2025-05-02|算法
高频算法三十讲一、反转链表 思路:定义三个节点指针,cur,tmp,pre。断后,连前,移节点。 cur:指向头节点 tmp:指向头节点的下一节点 pre:方向节点 以cur断开原本next,从而指向pre方向,再向前移动pr和cur实现方向反转。 tmp=cur->next; tmp始终都在cur后面,以方便后面cur移动节点 cur->next=pre; 改变链表方向 pre=cur; cur=tmp; 节点移动 while循环遍历直到cur为null。 二、轮转数组 123456789101112class Solution {public: void rotate(vector<int>& nums, int k) { int n=nums.size(); vector<int> numArry(n); for(int i=0;i<n;i++) ...
数据可持久化之JSON
发表于2025-04-18|数据可持久化JSON
一、JsonUtility 1. 什么是JsonUtility JsonUtiUtlity是Unity自带的用于解析JSON的公共类。 1.将内存中对象序列化成为Json格式的字符串。 2.将Json字符串反序列化为类对象。 2. 在文件中存读字符串 (1) 存储字符串到指定路径文件中 1File.WritellText(Application.persistentDataPath+"Test.json","wqx存储的json文件")l; ①第一个参数:存储路径。 ②第二个参数:存储的字符串的内容。 注:文件不存在,可以自己自动创建。但是不能创建文件夹,路径有未创建的文件夹会报错 (2) 在指定路径文件中读取字符串 1string str = File.ReadAllText(路径同上); 3. JsonUtility序列化 序列化:把内容中的数据存储在硬盘上。 ...
123
avatar
wqx
文章
25
标签
16
分类
20
Follow Me
公告
-只用于学习如有版权问题请联系我 484807196@qq.com
最新文章
Excel配置表小工具2025-07-27
UnityShader基础(三)2025-07-22
UnityShader基础(上)2025-07-22
UnityShader入门——纹理和透明2025-07-22
UnityShader入门——光照2025-07-20
分类
  • C#进阶2
    • 八股文2
  • Lua2
  • Shader6
  • Unity4
    • Mesh编程1
    • 基础1
    • 小框架1
标签
面试 八股文 优化 -案例 基础 生命周期函数 一些机制讲解 工具 设计模式 框架 Mesh JSON Shader 网络开发 进阶 术语介绍
归档
  • 七月 2025 9
  • 六月 2025 2
  • 五月 2025 8
  • 四月 2025 6
网站信息
文章数目 :
25
本站总字数 :
133.1k
本站访客数 :
本站总浏览量 :
最后更新时间 :
©2019 - 2025 By wqx
框架 Hexo 7.3.0|主题 Butterfly 5.3.5