- 博客(12)
- 收藏
- 关注
原创 Unity Shader(四)Halftone - shaderforge
直观的描述就是的画,用“点”的方式来完成画面。当印刷设备通常只能以有限数量的墨水颜色时,halftone通过调整图像中不同区域的点的大小和密度,来创造出一种灰度或颜色过渡的效果。
2024-08-28 19:31:46
633
原创 Unity Shader(三)玉石效果
1. 光线的偏移 偏移效果可以用原本的光向量加(Add)上另一个向量的方法实现,这里的另一个向量用的是Properties中的Vector4节点(Properties中的节点是后续可以出现在材质面板上自行修改调整的),对结果进行归一化(Normalize),然后和之前一样 与物体表面法向量进行点乘。 到这里为止,效果是和原本的兰伯特一模一样的,区别就在于可以在材质面板上通过修改我们刚刚添加的vector4数值,能够任意做出光线的位置偏移变化。
2024-08-08 19:41:59
1283
原创 Unity Shader学习(二) ShaderForge - 兰伯特光照模型
所以我们可以想象一下,现在有一个物体和一个光源,该物体上的每个法向量(nDir),与光线向量相反的向量(lDir)进行点积,(看图),将结果进行归一化 该模型上的每个点就都能得到一个数值,并且都在范围[ -1 , 1 ] 之间。[ 0 , 1]对应明度关系中的黑到白,对于
2024-08-03 19:14:27
1558
原创 Markdown sidebar侧边栏 - 展开/关闭父级目录
一、展开/隐藏子级查找所有子级元素隐藏所有子级元素给父级元素添加点击事件(展开/关闭)二、点击子页面刷新时 不更改目录显示状态此时预览页面会发现,点击子页面刷新后,目录的展开状态也被刷新了,所以为了能够保持目录的状态,需要将数据保存再在刷新后重现。但是我这里多一个要求,即如果重新刷新了整个网页的情况下,需要恢复至初始所有隐藏状态。在点击事件中保存当前菜单状态在设置菜单隐藏前添加判断逻辑,是否保存了菜单状态添加一个窗口卸载的监听器,该情况下清除保存数据
2024-08-01 11:09:20
321
原创 游戏 长线运营 的策略与实践
一、不同游戏类型的长线运营策略1. mmorpg(Multiplayer Online Role-Playing Game) eg. 魔兽世界所有玩家起初都是一个小角色,玩家可以自行选择是否要在玩家群体中成为“人上人”。这种游戏需要在一开始就规划游戏玩家的最终目标。2. pvp(player versus player) eg. 英雄联盟 (熟练感+新鲜感)通过赛季的方式,使玩家能够保持熟练感,同时赛季之间会有一些活动策略的调整提供新鲜
2024-07-31 11:56:10
643
1
原创 Unity Shader学习(一) 预备知识:渲染管线
一、GPU是什么1. GPU与CPUGPU是显卡上的一块芯片,就像CPU是主板上的一块芯片。2. CPU可以理解为颜料一个点一个点地先后发射,连接在一起,给人呈现以笑脸的图像,一步步迭代计算,花费时间较长。3.GPU多管颜料一瞬间同时发射,直接绘制成一幅完整的画像,大量高并行计算,花费时间是在一瞬间。比起用三五个强大的微处理器(或者说“管道”)来处理这些信息,用一大堆小的微处理器来并行计算,快得多。这就是图形处理器(GPU : Graphic Processor Unit)的来
2024-07-26 13:59:43
1204
原创 Unity转换高版本时 遇到System out of memory!错误
unity2021版本转换成2023版本打开项目时报错Could not allocate memory:System out of memory!在转换前,将项目文件中packages目录下的两个文件( manifest.json和packages-lock.json )都删了,再打开项目。
2024-06-17 11:23:56
440
原创 Unity AA分包 - Addressables可寻址系统 入门教程
一、前言AA包(Addressables Assets)相比于旧版AB包(Asset Bundle)的优点:① AA包不需要知道资源的地址,可以直接用名称引用;② Unity提供AA包的资源管理可视化界面;③ AA包能自动管理资源卸载(当资源引用计数为0时);④ AA包能自动管理依赖关系:当资源1依赖于资源2时,AB包要求先将资源2加载,才能加载资源1;而AA包直接加载资源1,就能自动将依赖的资源2加载进来;⑤ AA包支持远程资源加载以及热更新(热补丁)。
2024-05-30 09:55:35
1876
原创 React 入门 概念解释
记录自己的学习过程,纯干货~一、项目初始化在(要新建项目的位置目录下)中打开-输入 npx create-react-app搭建项目(需要些时间)-输入 cd进入项目目录-输入 npm start 启动项目,可以通过给到的网址在浏览器中预览二、安装插件(非必须)根据使用的浏览器进行下载对应的版本。如何使用:得要先切换到使用了React的页面,点击f12.,就会发现菜单栏比普通的多了components和profiler。
2024-05-24 11:41:59
957
原创 JS 提示调用成功or错误的几种方式(Promise、try-catch、success-fail)
1. PromisePromise的诞生是为了解决“回调地狱”。回调地狱:当多个回调函数一直往里嵌套的时候(外层的回调结果是内层的参数),观看代码的体验就会非常差劲,这就是所谓的回调地狱。而为了解决这个问题,promise应运而生,它存在的目的就是能够更加优雅地书写复杂的异步任务。
2024-05-22 09:39:28
257
原创 Cocos 设置常驻节点 注意事项
(1)设置的时候得注意,设置的常驻节点得是你需要的那个节点最最以上的那个老祖宗(根节点)!也就是需要完整的层级结构哦,才能保证切换场景后不会被销毁!(2)当常驻节点遇到预制体的时候,一定要注意有没有重叠关系,也就是保存的预制体里面是不是包含了那个想要设置常驻节点的节点,千万不能重叠!!!!!!!(其实就是任何要生成的预制体里面不能包含该常驻节点)否则会被刷新!!!!刷新就算了,也用不了啦原本的逻辑找不到“原本的”那个节点,会报错!!
2024-05-17 09:38:07
213
原创 Cocos ScrollView (content-layout) 添加子组件时往上飘
为了实现动态调整content的高度(因为要重复使用这个scrollView,每次总高度都不同),所以在content的layout的resize mode是设置为container。在content使用layout的时候,如果想要让scrollView的内容,最上面的节点固定在顶部,每加一个往下长,那要把父节点(这里指scrollView的。同理,当锚点设置在顶部时,外框就会往下增长高度。否则就会在加子节点的同时,上面的子节点也会往上飘。的,因此如果锚点在中央,在添加子节点时,
2024-05-16 09:36:08
188
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人