- 博客(109)
- 资源 (19)
- 收藏
- 关注
原创 Unity LocalPosition 和 Position 的区别?还有其他的Position 没?
Unity中Transform组件的Position和LocalPosition属性分别表示物体在世界坐标系和父物体局部坐标系中的位置。Position用于全局定位,LocalPosition用于相对定位,当父物体移动时LocalPosition会随之变化。UI系统则使用特殊的anchoredPosition属性。开发中应根据需求选择:全局操作使用Position,层级结构使用LocalPosition,UI元素使用anchoredPosition。二者可通过TransformPoint和InverseTr
2025-12-23 17:53:54
533
原创 Unity 实现 ScrollBar 值变化控制 Panel 位置的方法
本文介绍了在Unity中通过ScrollBar控制Panel位置的四种实现方法: 直接控制位置(推荐):使用Scrollbar监听事件,通过Mathf.Lerp计算Panel的目标位置,支持水平和垂直滚动; 使用ScrollRect:更简单的方法,直接利用Unity自带的ScrollRect组件,反转垂直滚动值; 平滑滚动效果:在方法1基础上增加Mathf.SmoothDamp实现平滑过渡效果; 双向滚动控制:支持同时控制水平和垂直滚动,可更新滚动条值并设置位置限制范围。 所有方法都包含事件监听器的正确初始
2025-11-15 18:30:59
338
原创 让UI完全按屏幕比例变化的方法
摘要:本文介绍了4种在Unity中实现UI按屏幕比例自适应的方法:1)使用AspectRatioFitter组件直接为Canvas或UI元素添加比例约束;2)通过动态调整CanvasScaler的匹配值;3)使用完全比例适配脚本确保所有UI元素精确缩放;4)为特定UI区域创建比例容器。每种方法适用于不同场景,如方法一适合简单比例需求,方法三提供最完整控制。文中还提供了测试不同比例的代码示例,帮助开发者验证UI在各种屏幕尺寸下的表现效果。
2025-11-12 17:14:24
258
原创 Unity Tilemap小方块(瓦片)颜色的更改
《Unity中Tilemap颜色修改指南》摘要:本文介绍了两种Tilemap颜色修改方法:1)整体调整:通过Tilemap组件的Color属性统一修改所有瓦片色调;2)单个调整:使用TintBrush工具或脚本控制特定瓦片颜色。文章提供了C#代码示例,并提示注意材质着色器兼容性、瓦片TileFlags设置及性能优化,推荐大面积色调修改使用整体调整方式更高效。关键词:Unity、Tilemap、颜色修改、2D游戏开发、TintBrush。
2025-11-10 17:48:33
486
原创 VP8 是什么?
VP8是由Google开发的开源视频编解码器,主要用于视频压缩和解压缩。作为H.264的免费替代品,它通过去除冗余信息实现高效压缩,广泛应用于WebRTC实时通信和网页视频播放。VP8与后续版本VP9、AV1构成开源编解码器的进化路线。相关概念包括WebM容器格式(通常封装VP8/VP9视频)、WebRTC技术标准(强制支持VP8)以及关键帧、码率等视频参数。与专利编解码器H.264相比,VP8在保持相近性能的同时提供了免授权费的解决方案,推动了视频技术的发展。
2025-11-09 18:34:58
753
原创 在 Unity 游戏开发中,为视频选择 VP8 还是 H.264
Unity视频编码选择指南:VP8和H.264各有优势,VP8适合跨平台(尤其Web/Linux),开源且支持透明通道;H.264硬件加速广泛,更适合移动端性能和续航。建议根据目标平台选择,可借助Unity的转码功能实现多平台适配,也可考虑更新但支持有限的VP9/AV1编解码器。新设备可尝试更高压缩效率的编码方案。
2025-11-09 18:27:05
821
原创 在Unity中通过调整一些设置来提升运行和编译速度
Unity项目优化可通过禁用域重载和启用增量编译提升效率,但需注意潜在问题。禁用域重载会保留静态状态,需手动重置静态字段/事件;增量编译可能影响编译准确性,复杂项目需切换全量编译排查问题。建议循序渐进启用,规范代码管理静态状态,在发布前切换全量编译确保稳定。这些设置以额外维护成本换取性能提升,适合熟悉其特性的开发者采用。
2025-11-03 16:37:32
870
原创 Unity OnDisable() 和 OnDestroy() 的区别与功能
Unity中OnDisable()和OnDestroy()是常用的生命周期方法,主要区别在于:OnDisable()在对象变为非激活状态时调用,用于临时清理(停止协程、取消事件订阅等),可能被多次调用;OnDestroy()仅在对象永久销毁时调用一次,用于最终清理(释放资源、清除静态引用等)。最佳实践包括:在OnEnable/OnDisable成对处理事件订阅,在OnDestroy中确保彻底释放资源,并特别注意静态引用的清理以避免内存泄漏。应根据对象状态选择合适的方法进行资源管理。
2025-11-02 12:43:01
381
原创 Unity 错误UserSettings\Layouts\CurrentMaximizeLayout.dwlt
Unity编辑器出现"无法提取GUID"错误通常是由布局文件(CurrentMaximizeLayout.dwlt)损坏导致。解决方法:关闭Unity,删除UserSettings/Layouts/目录下的损坏文件,重启后Unity会自动生成新布局。其他解决方案包括重置工厂布局设置或更新Unity版本。预防措施包括避免手动编辑布局文件、正确关闭程序以及确保版本控制系统正确处理这些文件。如问题持续,建议检查Unity日志获取更详细的错误信息。
2025-11-01 14:35:12
252
原创 Unity 将地图分割为可自定义的矩形区域来管理物体的插件
Unity提供了多种地图矩形分割方案对比:官方Grid组件适合2D瓦片地图制作;Physics.RebuildBroadphaseRegions用于优化大型世界物理碰撞;TerrainGridSystem专攻战略游戏地形管理;GridsPro适合复杂网格逻辑的战棋游戏;Plane-Mesh-Splitter则用于优化大型地形渲染性能。选择方案应基于核心需求:物理优化用官方API,游戏逻辑管理选专业插件(如GridsPro),2D关卡制作直接用Tilemap系统。不同场景需要针对性采用性能优化或逻辑管理方案。
2025-10-29 18:41:40
317
1
原创 手动调用 GC.Collect()会造成“单帧卡顿“下面是更好的建议
手动调用GC.Collect()通常会导致游戏单帧卡顿,因为它会强制进行阻塞式垃圾回收。更好的解决方法是减少垃圾产生和优化回收过程:1)使用对象池避免频繁创建销毁对象;2)避免在Update等方法中产生堆内存分配,如字符串拼接、装箱等;3)在加载场景等时机主动触发GC;4)启用增量式GC将回收分摊到多帧;5)使用Profiler监控GCAlloc定位问题。通过主动管理和减少垃圾产生,可以避免GC引起的性能问题。
2025-10-29 15:25:05
723
原创 Unity 资源导出的问题,依赖关系过多。
文章摘要:该错误主要由Unity资源依赖关系过于复杂导致,而非包大小或资源数量问题。当资源引用过多包管理器中的依赖项时,会形成复杂的依赖图,超过Unity设置的100个包分析上限。根本原因是交叉依赖和深层依赖链导致依赖分析超限。解决方案包括:使用简化导出选项、分批导出策略(按资源类型分组)、将高依赖资源单独导出,以及通过导出简单资源验证问题原因。关键是要减少单次导出的依赖复杂度。
2025-10-24 14:32:17
348
原创 自己发现DEEP SEEK现在生成程序的现状 2025-10-9
DEEPSEEK生成代码的正确率逐步提高,但仍存在与预期功能不符的情况,特别是在代码优化时可能出现不等价转换,导致程序异常且排查耗时。建议在使用时明确要求功能一致性,并对生成代码及时测试和标注,确保可靠性。
2025-10-09 14:03:12
156
原创 Unity 代码性能优化之HashSet.Contains() vs List.Contains()
重构后的代码性能大幅提升主要归功于三个关键优化:1)将List.Contains(O(n))替换为HashSet.Contains(O(1)),使查找操作从50万次降到1千次;2)采用泛型方法避免重复类型转换和装箱拆箱;3)减少中间集合创建,优化内存访问模式。整体复杂度从O(n×m)降至O(n+m),在数据量大时可实现百倍性能提升,同时改善了CPU缓存命中率和内存分配效率。
2025-10-03 14:49:19
912
原创 Unity Profiler中的LogStringToConsole
LogStringToConsole是Unity引擎内部处理日志输出的核心方法,反映调用Debug.Log等API时的CPU开销。它本质是Unity处理日志的固有成本,会在Profiler中显示为引擎自身的性能消耗。若发现该方法占用过高CPU时间,通常意味着存在过度日志输出问题。优化建议包括:清理开发阶段调试日志、避免高频循环中打印日志,或通过自定义日志系统集中管理输出。该指标有助于开发者识别并优化日志相关的性能瓶颈。
2025-10-03 13:04:37
302
原创 Unity 发现游戏编译前后不一致的问题,FixedUpdate是低帧性能杀手,ScriptDebugging是隐藏问题。
本文总结了Unity游戏编译后帧率骤降的排查过程。主要发现:1)编译后FixedUpdate调用次数从1-2次增至5次,导致主线程堵塞;2)MaximumAllowedTimestep设置为0.1导致帧率锁定在10FPS;3)Debug功能消耗大量性能。通过调整MaximumAllowedTimestep为0.04(25FPS)并关闭ScriptDebugging,最终使编译前后性能一致。经验教训:需深入理解FixedUpdate机制,合理设置时间参数,避免低帧率下运算堆积;遇到问题应系统排查,善用Prof
2025-10-03 12:13:58
1171
原创 Unity Time参数:Maximum Particle Timestep
摘要: Unity2021.3.13中的MaximumParticleTimestep(粒子最大时间步长)是平衡粒子模拟精度与性能的关键参数,用于在帧率波动时拆分计算步骤,确保粒子运动平滑。建议根据平台需求调整:高画质可选1/60秒,移动设备推荐1/30秒,性能优先可设更大值(但低帧率时可能失真)。该参数位于Edit > Project Settings > Time中,也可通过Time.maximumParticleDeltaTime代码动态修改,需与MaximumAllowedTimeste
2025-10-03 10:40:08
363
原创 Unity 安装Obfuscar 代码混淆软件
本文介绍了在C#项目中使用NuGet包管理器安装Obfuscar代码混淆工具的步骤:首先打开工具菜单中的NuGet包管理器,选择"管理解决方案的NuGet程序包",搜索Obfuscar后,勾选需要应用的项目并点击安装即可完成配置。
2025-10-02 16:21:48
198
原创 如何知道是CPU等待GPU还是GPU等待CPU?
摘要: 要精准区分CPU等待GPU还是GPU等待CPU的瓶颈,可采用三步法:工具诊断(Unity Profiler、GPU Profiler、系统工具交叉验证)、指标分析(CPU/GPU利用率、帧时间分布等)和场景验证(降分辨率、简化着色器等)。通过特征指标(如CPU用户态高且GPU利用率低可能为CPU等待GPU)和针对性测试(如锁定CPU频率或异步加载),可定位瓶颈。实战案例表明,优化粒子系统、光照等可显著提升性能。建议结合具体场景,先抓取数据再验证优化。
2025-10-01 12:04:05
445
原创 选中场景中的静态物体,所谓静态物体,是指的位置不变?还是颜色不变?还是图片不变?
在Unity中,静态物体是指在运行时不会改变位置、旋转或缩放的物体。标记为"Static"的物体可以进行预处理优化,包括静态批处理、光照烘焙等。虽然静态物体的外观属性(如颜色、贴图)可以改变,但变换属性必须保持不变。实际应用中,固定的建筑物、地形等应设为静态,而动态对象则不应标记。编辑器中的Static选项允许针对不同优化系统进行配置。判断标准是:只要物体在游戏运行时不移动,就适合设为静态。
2025-10-01 11:36:55
587
原创 Unity HybridCLR出错 :重行生成的时候出现了:Exception: resolve 热更新 dll:HotUpdate 失败!
HybridCLR热更新DLL缺失问题解决方案 当HybridCLR报错找不到HotUpdate.dll时,主要原因是: 热更新程序集未生成:检查HybridCLRData/HotUpdateDlls/[平台]目录是否存在HotUpdate.dll 配置错误:确保HybridCLRSettings中配置的程序集名称与项目实际程序集(.asmdef文件)一致 解决步骤: 检查HotUpdate程序集是否存在,若不存在需创建或修正配置 按顺序执行HybridCLR生成命令(Generate All → Buil
2025-09-30 18:18:27
1310
1
原创 Unity Profiler的Time ms 和 Self ms 分别代表什么?
Unity Profiler核心概念解析:Time ms vs Self ms Time ms:函数总耗时,包括所有子调用(如Job.Complete()耗时85.75ms)。 Self ms:函数自身代码耗时(如FixedUpdate()仅0.15ms),不含子调用。 问题定位: 若Self高:优化函数内部逻辑(如算法、GC)。 若Time高但Self低(如你的案例):优化子函数(如异步处理Job)。 你的情况:编译后Job.Complete()变慢(Time从0.15ms→87.90ms),需针对性优化
2025-09-27 16:50:34
938
原创 Windows 11开机后很卡,但重启几次就正常的问题
摘要:本文分析了Windows系统开机卡顿但重启正常的可能原因及解决方案。主要原因包括快速启动功能干扰、系统更新或驱动冲突、后台服务占用高等。建议首先关闭快速启动功能(通过控制面板-电源选项),其次更新或回退驱动程序,再管理启动项执行干净启动,最后检查系统更新和硬盘健康状况。按照从简单到复杂的顺序排查,快速启动功能兼容性问题是最可能的原因。
2025-09-25 09:25:19
2100
原创 Unity 一个GameObject销毁后的有趣发现
该代码实验表明:在Unity中,当GameObject被销毁后,直接访问其属性(如name或transform)会抛出MissingReferenceException异常,而访问gameObject本身不会报错。测试发现,虽然weapon.weapons_targetObject.gameObject已被销毁(Debug.LogError("123")被执行),但直接调用其name属性会立即报错。这说明Unity对销毁对象的属性访问有严格限制,开发者必须通过null检查来避免异常,而不
2025-09-24 14:16:06
326
原创 Unity Time.time 详解
Unity中的Time.time是一个静态属性,用于获取游戏从开始到当前帧的运行时间(秒)。作为float类型,它受Time.timeScale影响,暂停时停止计时。常用于计时器、延迟执行、动画过渡等功能,如武器冷却系统、技能持续时间等。与Time.realtimeSinceStartup等属性相比,Time.time会受时间缩放影响,但同一帧内值保持一致。长时间运行可能存在精度问题,但对多数游戏影响不大。开发者需根据需求选择是否使用受时间缩放影响的时间属性。
2025-09-22 18:11:26
530
原创 固态和机械硬盘损坏后的不同
固态硬盘(SSD)和机械硬盘(HDD)损坏后数据恢复差异显著。SSD逻辑故障恢复率60%-80%,但TRIM指令和垃圾回收会大幅降低成功率;物理损坏恢复极难且成本超3000元。HDD删除/格式化后数据保留至被覆盖,恢复率超70%;物理损坏通过无尘室开盘修复成功率60%-80%,成本500-2000元。紧急处理时,SSD需立即禁用TRIM并停止写入,HDD应直接断电防震动。建议采用3-2-1备份原则,SSD故障后切忌拖延通电,HDD需避免运行中震动。专业恢复机构选择需认准ISO认证无尘实验室。
2025-09-21 16:34:37
711
原创 U盘长期插在电脑上的影响
闪存磨损:系统后台频繁读写(如索引服务、杀毒扫描)会加速U盘闪存颗粒磨损,缩短寿命(尤其低端TLC/QLC芯片)。使用高质量U盘:金属外壳散热好+MLC/SLC颗粒(如三星Bar Plus、闪迪CZ880)。病毒攻击:U盘成为常驻设备,易被勒索软件或蠕虫病毒锁定(如Cryptolocker类病毒)。U盘仅作只读存储:存放无需修改的文档/照片,禁用自动播放(降低写入频次)。机械移动硬盘(如希捷Backup Plus):耐写入,数据恢复成本低。固态移动硬盘(如三星T7):散热优于U盘,支持7×24小时运行。
2025-09-21 16:30:42
1655
原创 AI虚拟歌手国内现在什么软件可以做?
国内AI虚拟歌手软件发展迅速,针对不同需求提供多样化选择。主流软件包括:Ace虚拟歌姬(适合新手)、网易云音乐·XStudio(专业音乐制作)、腾讯LeVo(音色克隆)、小冰框架XStudio(表现力优化)等。选择建议:新手可选Ace或Mureka;专业创作者可考虑网易XStudio或腾讯LeVo;视频制作推荐商汤如影等工具。未来趋势包括音色仿真度提升、创作智能化及实时交互功能增强。不同软件各有侧重,用户可根据自身需求和技术水平选择合适的平台。(149字)
2025-09-17 16:20:22
2358
原创 在Unity2021中使用Profiler的Deep Profile功能时内存超高怎么办?
本文针对Unity Profiler中DeepProfile内存占用过高的问题提供了解决方案。DeepProfile会记录所有函数调用信息,导致大型项目内存消耗激增。建议采用以下优化方法:1)使用Profiler.BeginSample/EndSample API进行针对性分析;2)分模块迭代分析;3)优化脚本代码减少内存分配;4)利用Memory区域和FrameDebugger替代分析。同时提供了优化脚本的具体建议,如避免频繁内存分配、缓存组件引用等。文章还包含方法对比表格,帮助开发者根据场景选择合适方案
2025-09-14 18:22:29
964
原创 游戏外设的选择
【游戏外设选购指南】不同游戏类型对外设需求各异:FPS需低延迟键盘+精准定位鼠标+声场定位耳机;MOBA重按键一致性和侧键功能;3A大作追求沉浸感。键盘选轴体(线性轴适合FPS/段落轴适合MOBA)、连接方式(有线最稳);鼠标看传感器(如PAW3395)、重量(<80g为优)和回报率;耳机需关注声场定位和舒适性。建议根据预算和游戏类型组合选购,实际体验比参数更重要,中端组合(如Keychron键盘+漫步者鼠标+HyperX耳机)即可满足多数需求。
2025-09-01 15:29:52
1173
原创 Parent Constraint 组件属性说明[资料]
本文介绍了Unity中约束(Constraint)功能的核心参数设置,主要包括:1)激活(Activate)和归零(Zero)两个操作按钮,用于保存或重置约束关系;2)权重(Weight)参数控制约束强度;3)锁定(Lock)开关决定是否应用约束;4)静止位置/旋转(Position/RotationAtRest)定义约束失效时的状态;5)位置/旋转偏移量(Offset)设置附加变换值;6)冻结轴向(FreezeAxes)选择约束控制的坐标轴;7)源对象(Sources)列表管理约束源及其权重。这些参数共同
2025-08-31 17:47:41
437
原创 在Unity中,让子物体不随父物体移动或转动的方法!
在Unity中,让子物体不随父物体移动或转动是一个常见的需求。虽然父子层级关系默认会使子物体跟随父物体变换,但还是有几种方法可以实现你想要的效果。下面我来为你介绍这些方法。
2025-08-31 16:09:16
1502
原创 AI Agent(人工智能代理)当前人工智能领域最炙手可热的概念之一,需要你来了解
AI Agent是人工智能从被动工具向自主助手转变的关键技术。它由规划、记忆、工具使用和行动四大模块组成,能够自主分解任务、调用工具并持续优化执行过程。当前主要应用包括科研辅助、智能客服、软件开发等领域,但仍面临可靠性、安全性和成本等挑战。AI Agent代表了AI系统从简单问答向自主执行复杂任务的范式升级,标志着人机协作进入新阶段。
2025-08-29 13:32:47
956
原创 AI音乐续写和去除歌声的软件
音乐AI工具指南:主流音乐续写和人声分离软件对比 摘要:本文介绍了当前主流的AI音乐续写和人声分离工具,包括谱乐AI、SunoAI、VocalExtractor等,通过对比表格展示各工具特点。音乐续写AI能分析旋律特征生成后续内容,人声分离软件可提取或去除人声。建议用户根据需求、音质、格式兼容性等因素选择工具,并注意版权问题。这些工具适用于音乐创作、教育演示等多种场景,为音乐爱好者提供便捷的创作支持。
2025-08-27 13:55:24
490
原创 Unity:游戏性能优化!之把分散在各个游戏角色GameObject上的脚本修改为在一个脚本中运行。这样做会让游戏运行更高效?
摘要: 集中管理(单一脚本)比分散式(每个GameObject独立脚本)更高效,原因包括:1)减少方法调用开销,避免管理大量独立计时器;2)提升CPU缓存效率,连续数据访问比内存碎片化访问更快;3)支持批量处理、分帧更新等优化。建议使用舰船管理器(ShipManager)维护所有舰船列表,通过循环统一处理,并结合接口(如IShipUpdatable)解耦。此方案为后续Burst/Job优化奠定基础,显著提升性能。
2025-08-26 12:43:56
1316
原创 流氓软件无法清除?
摘要:本文提供了三种卸载QQ音乐播放控件和推广小程序的方法。首选系统自带的卸载功能;若无效,推荐使用专业工具GeekUninstaller或360软件管家的强力清扫功能;高级用户可尝试手动删除文件和清理注册表。操作后建议全盘杀毒,检查浏览器设置并保持良好安装习惯。首推GeekUninstaller强制卸载工具,能有效清理顽固软件及残留。
2025-08-26 10:32:13
1263
原创 Unity :Burst error BC0102: Unexpected internal compiler error while processing function 可能是Debug的原因
文章摘要:Burst编译器在处理float3::ToString()方法时出现空引用异常错误。解决方案包括:1)避免在Burst代码中使用ToString();2)更新Burst包至最新版本;3)使用条件编译排除问题代码;4)检查数学库版本兼容性;5)简化复杂向量操作。临时方案可禁用Burst编译进行验证。建议改用分量输出替代ToString(),或通过条件编译仅在编辑器模式下输出调试信息。若问题持续,需向Unity提交bug报告。
2025-08-23 13:29:35
508
原创 常见的软件图片缩放,算法如何选择?
图像缩放算法对比分析:双立方、Lanczos3和Mitchell是高质量首选,双立方作为平衡之选适合大多数场景;Mitchell能更好抑制锯齿;Lanczos3保留细节但可能产生振铃伪影。避免使用最临近和双线性算法,它们会产生明显锯齿或过度模糊。B样条曲线过于平滑导致细节丢失。建议根据图像特点进行测试选择,优先考虑双立方作为默认选项,追求高质量时可尝试Mitchell或Lanczos3。
2025-08-19 21:01:26
1327
原创 Unity让你的C盘越来越小?现在让我们迁移Unity的一些文件到其他盘比如[Roaming]文件夹,相似的还可以迁移其他文件夹到其他盘,但在迁移前请备份和网上咨询。
摘要:安全迁移 Unity 数据至其他盘符可通过两种方式:1)符号链接:复制原文件夹到新位置,删除原文件夹后创建符号链接,Unity 仍读写原路径但数据实际存储在新位置;2)环境变量:设置 UNITY_CACHE_PATH 并重置 Unity 缓存。符号链接方案无需重装软件,兼容性好且节省 C 盘空间(仅保留 1KB 链接)。直接移动文件夹或修改注册表会导致错误。迁移后需重新关联 AssetStore 许可证和自定义模板,并建议清理缓存文件(如崩溃日志、未使用的包)以释放更多空间。验证成功可通过检查路径是否
2025-08-16 10:42:14
651
原创 Windows查看文件夹大小还用属性?向你推荐好用直观的工具
Windows11查看文件夹大小的方法分为两类:资源管理器插件和独立工具。插件类推荐FolderSize(新增列显示)或Windhawk+Everything组合(需索引);独立工具推荐TreeSizeFree(树状分析)或SpaceSniffer(区块可视化)。追求集成体验选插件,需要深度分析选独立工具,临时使用可选免安装的SpaceSniffer。这些工具都能避免右键查看属性的繁琐操作。
2025-08-16 10:36:54
3584
田间统计分析VisualBasic6.0程序(未测试版).pdf
2020-07-06
VB6 DX7显示移动的边缘透明图片
2020-04-22
VB6 API BitBlt显示边缘透明图
2018-11-29
田间统计整合版.zip
2021-07-08
一元一次方程.zip
2020-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅