- 博客(24)
- 收藏
- 关注
原创 为什么调整了Directiona Light 这个漏光现象会消失
Unity阴影漏光问题解析 摘要:Unity中由于阴影偏移(Bias)机制,薄面物体(如厚度为0的房顶)会出现光线穿透现象。当DirectionalLight直射时,Bias将阴影位置向室内偏移,在面片与阴影间形成光线通道。解决方法包括:1)调整光源角度,改变阴影计算方向;2)减小Bias值使阴影更贴近表面;3)降低光源强度或切换至背光面。这些调整能消除阴影偏移造成的"真空区",解决漏光问题。
2026-02-09 17:49:58
62
原创 unity3d房顶棱边会出现“漏光”
我想你在 Blender 做这个房间的时候,大概率是用一个立方体,删掉了一个面,或者直接用几个 Plane (平面) 拼起来的吧?Unity 为了防止模型表面出现那种像“麻子”一样的黑色斑点(这种现象叫 Shadow Acne),故意让阴影不从物体的“正表面”开始算,而是。当你的灯光照在无限薄的墙壁背面时,Unity 的计算有时候会“穿透”过去,因为它觉得这东西没有厚度,挡不住光。如果这个“偏移量”太大,墙角的阴影就会“离家出住”,导致墙角没有被阴影覆盖,光就漏进来了。把它拉长、压扁,做成一个黑色的长条。
2026-02-09 16:51:33
397
原创 3d房间物体从blender导入进unity没有灯光材质应该如何做?
摘要:本文介绍了将Blender模型导入Unity时的材质与灯光处理方法。材质部分需区分简单贴图与复杂节点两种情况:简单材质可通过FBX导出并嵌入贴图;复杂节点需先烘焙为Diffuse、Roughness等独立贴图,再在Unity中重建Standard或URP材质。灯光部分建议完全在Unity中重建,包括设置环境光、主光源和室内光,并通过Lightmapping系统烘焙静态物体的光照UV以获得真实全局光照效果。关键步骤包括标记静态物体、生成光照UV和进行灯光烘焙。
2026-02-08 22:25:27
708
原创 Unity烘焙光照 (GI)
本文介绍了游戏开发中三种关键的光照处理技术:静态(Static)物体不会移动,可预先烘焙光影到贴图以节省性能;自发光(Emission)材质能自主发光但默认不照亮周围环境;烘焙(Baking)技术通过预计算将静态发光物体的光照效果永久"烤"入贴图,实现逼真效果且性能消耗极低。三种方式在视觉效果和性能消耗上形成对比:非静态物体仅自身发光但性能消耗低,实时全局光照效果动态但性能需求极高,而烘焙静态方案则兼具高真实感和低性能消耗的优势。
2026-02-07 11:00:21
37
原创 Shader Graph 学习大纲
深入理解 Normal Map (法线贴图)、Metallic (金属度)、Smoothness (光滑度) 和 Occlusion (环境光遮蔽) 对光照的影响。理解 Blackboard (属性面板)、Main Preview (预览窗口) 和 Master Stack (主节点) 的作用。明白 Float (浮点数)、Vector (向量)、Color (颜色) 和 Texture (纹理) 的区别及转换。理解 UV 是什么,以及 Tiling (重复) 和 Offset (偏移) 的原理。
2026-02-05 20:11:03
149
原创 【Unity ShaderGraph】| Shader Graph入门介绍(一)
渲染管线(也称渲染流水线或像素流水线)是显示芯片内部处理图形信号的并行处理单元。渲染管线对显卡的性能表现起着决定性作用。Shader Graph是Unity的可视化着色器编辑工具,通过节点连接方式创建自定义着色器效果,无需编写复杂代码。以上是渲染管线的核心流程,学习ShaderGraph只需掌握这些基础概念即可。今天开始学习ShaderGraph,掌握优秀效果的制作和改进方法是必经之路。选择渲染管线需根据项目需求和目标平台性能决定。1.2 Shader Graph简介。首先需要了解渲染管线的基础知识。
2026-02-05 17:21:33
45
原创 unity对话游戏4:协程的并行执行
虽然我们把它扔出去了,但我们需要拿个变量记住它 (fadeScreenJob),这样后面我们想等待它结束的时候,可以用 yield return fadeScreenJob把它抓回来。T = 10s [屏幕变黑结束] --------------------> 音乐还剩 2s 没播完。T = 0s [开始屏幕变黑 (10s)] --------------> 正在变黑...T = 6s [开始音乐淡出 (6s)] --------------> 声音渐小...这个问题涉及到了 协程的并行执行。
2026-01-08 13:01:32
342
原创 unity对话游戏优化3:完成度更高的优化
2.按钮文字打字完成前玩家操作不能有相应。2.文字打字完成前玩家操作不能有相应。可能会遇到的问题:1.多行按钮文字打字出现位置偏移以及格式不统一。可能会遇到的问题:1.多行按钮文字打字出现位置偏移以及格式不统一。可能会遇到的问题:1.多行文字打字出现位置偏移以及格式不统一。可能会遇到的问题:1.选项前文本可能取不到。2.标点符号不能出现在一行的开头。1.人名加粗,加入下划线。
2026-01-06 12:26:20
421
原创 unity对话游戏新手踩坑2:Sequence类型
使用Sequence类型保存DOTween一系列动画,包含一直重复的动画,实现是可以实现,但是需要关闭并销毁时会遇到问题犯了 DOTween 的一个。我们可以深入分析一下为什么Sequence会导致“关不掉”或者“报错”。
2026-01-05 11:10:59
403
原创 unity对话游戏新手踩坑1:单例模式
单例模式挂载的脚本默认会在游戏运行时一直存在,比如游戏中如果有多场景加载,场景加载不可避免销毁上一场景,就会一直保留下去。排查问题时优先认为是脚本出问题了,后发现挂载单例模式下无法加载下一场景的脚本,后取消单例模式才会销毁该场景中的物体。
2026-01-05 10:57:09
86
原创 unity 2d 实现控制人物触发物体、动画并且触发完后还原
/ GetCurrentAnimatorStateInfo(0) 表示获取第 0 层(Base Layer)的状态。如果你的动画和图片其实是同一个对象(比如动画的最后一帧就是你要的图),或者你想做得更精确,可以使用。// 因为刚 enable 的这一帧,Unity 还没来得及切换动画状态,直接读长度可能是 0。为了实现播放动画 -> 动画结束后显示某张图片”的效果,单纯的。// 初始化:确保 animationObj 显示,但动画静止。// --- 关键修改开始 ---// --- 关键修改结束 ---
2025-12-18 20:04:07
899
原创 unity中人物靠近图片高亮显示图片以及按键可以触发事件
/ 拖入你想显示的图片对象(UI Image 或 Sprite GameObject)// 记录玩家是否在范围内。// 如果是开的就关,如果是关的就开。// 玩家离开时,为了体验更好,通常自动关闭打开的图片。// 如果玩家在范围内 且 按下了空格键。// 游戏开始时,确保图片是隐藏的。[Header("材质设置")]// 切换图片的显示/隐藏状态。
2025-12-17 22:25:37
355
原创 在unity 2d 摄像机和图片都在原点,为什么摄像机还是显示不出图片?
摄像机和图片重合在 (0,0,0),相当于。人的眼睛是看不见贴在眼球表面的东西的,摄像机也是一样。
2025-12-16 11:09:50
432
原创 unity shader中uv和纹理的关系
在Unity Shader中,和是控制模型外观的核心技术,二者通过建立紧密联系。UV坐标就像模型表面的“二维定位系统”,而纹理则是存储颜色、法线等信息的图像数据,通过UV坐标的指引将纹理精准贴合到三维模型上。
2025-12-16 11:05:52
284
原创 服务器 ping www.baidu.com没反应出现的问题解决
1.vim /etc/sysconfig/network-scripts/ifcfg-ens192把DNS1改为x.x.x.x例如8.8.8.8。3.systemctl restart NetworkManager重启网络管理,再ping www.baidu.com,成功ping通。2.改本地VMnet8下的ipv4属性中的的首选DNS服务器改为x.x.x.x,与之对应。此时ping没反应就是网络不通这个时候需要做以下几件事。
2023-11-23 10:48:40
1723
原创 Doris2.0安装所遇到的坑
doris前置下载使用yum安装出现 “Could not resolve host: mirrors.bfsu.edu.cn;1.由于doris是对标使用mysql,所以需要先安装mysql,然后安装了mysql8.x版本后改密码时遇到一个。需要修改虚拟内存:sysctl -w vm.max_map_count=2000000。使用临时命令ulimit -u 65536,打开文件数。修改Fe,Be配置文件后,启动Fe的时候一切正常,5.5以下版本不能使用如下命令改密码。启动Be的使用,出现如下问题。
2023-11-09 00:13:26
1015
1
原创 Doris学习路径1
现在公司想运用doris做数据处理,由于之前使用doris索引,使用doris中的bitmap索引加入到非唯一键中,在7g左右的数据中,使用了非唯一键当作索引列,结果导致原先查询时间为19s左右变为27s左右,问了相关doris技术老师,需要先将doris版本升级上去.明天再继续测试。1.存储到Doris的数据会从 MemTable 刷写到磁盘的过程分为两个阶段,第一阶段是将 MemTable 中的行存结构在内存中转换为列存结构,并为每一列生成对应的索引结构;
2023-11-07 18:00:21
227
原创 datax:从hive导入ftp com.alibaba.datax.common.exception.DataXException: Code:[FtpWriter-14], Description
(ftp server不支持递归创建目录,只能一级一级创建),然后继续给根目录权限,但是还是出问题了,他会把path最后一层也当作文件了,出现这个问题其实就是自己迷糊了,问了一下其他同学,发现是dataxwriter写入的是目录而不是文件,还有writer写的有些问题,最后发出来正确的writer。然后改完密码后,又出现权限问题,无法创建文件,最后发现是文件权限问题,然后给予chmod -R 777。然后发现datax还是报错权限问题,最后调试datax源码时发现了这个。
2023-11-02 17:49:03
439
1
原创 总结面试问题,spark的shuffle
在基于 Sort 的 Shuffle 中,每个 Mapper 阶段的 Task 不会为每 Reduce 阶段的 Task 生成一个单独的文件,而是全部写到一个数据(Data)文件中,同时生成一个索引(Index)文件,最终生成的文件个数减少到 2*M ,其中 M 表示 Mapper 阶段的 Task 个数,而2就表示一个数据文件,一个索引文件,但是由于他强制在Mapper端进行排序会导致速度变慢,后续spark引擎又对其排序算法进行优化,才有了现在的sort shuffle。
2023-10-30 18:29:10
200
1
原创 datax踩坑2:{“message“:“字段类型转换错误:你目标字段为[BIGINT]类型,实际字段值为[114,baoancheng].“,“record“:[{“byteSize“:14,“in
{"message":"字段类型转换错误:你目标字段为[BIGINT]类型,实际字段值为[114,baoancheng].","record":[{"byteSize":14,"index":0,"rawData":"114,baoancheng","type":"STRING"}],"type":"writer"}我把所有bigInt全部换成了string,为什么能行?这是由于datax把csv一行数据(114,xiaobao)识别为1列,所以才会出现类型转换异常,为什么会出现这个问题呢?
2023-10-26 16:54:21
959
原创 datax踩坑1: - java.lang.IllegalArgumentException: No enum constant com.alibaba.datax.plugin.writer.hdf
如图已经没有long类型了只有bigint类型,这就告诉我们网上资料的实时性,以及代码的迭代是很快的。由于不清楚datax类型然后去网上看到如图,我把所有的int类型改为了long类型。然后我去看了datax最新的源码,如图。
2023-10-25 16:27:15
504
原创 nvm install出现的相关问题
1、npm cache clean -f 部分人会出现 npm WARN using --force Recommended protections disabled.的问题。3、输入代码 set-executionpolicy remotesigned 按回车键执行命令。2、输入 npm install npm @6.14.10 -g。使用npm install npm@6 -g 降低版本,4、后输入 npm install完美解决。还是上述错误,初步分析版本过高,4、输入 A,按回车键执行。
2023-10-24 15:20:21
1245
原创 datax在window上安装遇到的小问题 出现配置信息错误
安装dataX的问题,com.alibaba.datax.common.exception.DataXException: Code:[Common-00], Describe_51CTO博客_datax 安装
2023-09-25 10:08:29
331
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅