奇妙的Pairing Function
在实际项目里,我们经常需要把二维坐标 (x, y)、或两个整型键合成一个“唯一”的整型键,方便做哈希表/数组索引;又希望能在需要时还原回原来的两个键。这样一个反直觉的需求真的有解决方案吗?“配对函数”(Pairing Function)隆重登场。 ...
在实际项目里,我们经常需要把二维坐标 (x, y)、或两个整型键合成一个“唯一”的整型键,方便做哈希表/数组索引;又希望能在需要时还原回原来的两个键。这样一个反直觉的需求真的有解决方案吗?“配对函数”(Pairing Function)隆重登场。 ...
最近一两年,用AI的方式变化得太快了。每当我指望它“一次给出完美答案”,十有八九会失望;可当我把任务拆成几步,允许它犯错、允许我随时插话校准,结果反而稳、而且更快。这件小事让我意识到:我们真正迫切需要的,或许不只是“更强的模型”,而是“更好的协作方式”。 ...
近期看了一些大佬对AI时代软件形态的探讨,记录一些感悟。 编写软件不再只是程序员可以做的酷酷的事。 过去几十年的发展,“机器”的形态发生了巨大变化,现在,LLM本身也变成了“机器”。 ...
本文源自对Apple WWDC 2018 的一次公开分享的记录提炼。什么是优秀的设计,它为什么重要,如何追求品质感……这些话题不仅是设计师需要考虑的专业问题,也是每个人打造自己的生活需要知道的内在规律。Video ...
前几日参加了Unite上海2024,受益颇多。本篇先就相对感兴趣的小游戏平台WebGL技术方案为引子,引出一些关于WebAssembly, IL2CPP, 以及.NET 8对Web平台支持等话题。 ...
本文也是PhysX物理引擎系列的番外篇。介绍了笔者基于CharacterController(CCT)设计的一个新的角色控制器,在修补Unity/PhysX的CCT的缺陷外,还增添了若干和物理交互相关的有趣特性。代码已经过实际项目验证,这里仅保留和具体业务无关的部分。 背景和需求 前文结尾处提到一些PhysX自带的CCT(Unity也是基于此二次封装出CharacterController组件)在实际游戏开发中的缺点,这里再次总结: CCT不参与碰撞系统的检测。仅当CCT自身移动时会判断是否被其他刚体或CCT阻挡。这就造成一个BUG:CCT自身静止时,其他运动物体会穿过CCT且没有事件触发。官方论坛上有苦主持续8年向Unity反馈这个问题但无法解决,目前已知的唯一绕过方式是每帧给CCT附加一个微小的位移(下文中的SlightMove)。 Unity提供的接口CharacterController.isGrounded效果很不稳定。其内部只是判断CCT上次运动后底部是否触碰物体。即collisionFlags & eCOLLISION_DOWN::eCOLLISION_DOWN。但在上下坡或崎岖地形时,很容易出现侧面触碰或短暂浮空。如果用该接口驱动动画表现甚至跑跳逻辑,效果很差。需要自行基于SceneQuery封装出更加稳定的判定着地的函数。 Unity没有暴露CCT.upVector,角色总是竖直向上的。要实现反重力鞋在任意斜面上行走或像马里奥银河那样在曲面上跑跳穿梭,只能放弃使用CCT但也放弃了其在操作手感上的改善。其实拿到Unity的源码后,只用了十分钟将底层字段暴露到C#层就解决了该问题。 新的角色控制器需要增加的物理交互特性有: ...
本文是PhysX物理引擎系列的番外篇,其实要弄明白一个3D数学问题:如何处理父节点带有非均匀缩放、子节点带有旋转时,子节点的最终大小和形态。 问题源自笔者在修改物理引擎为其添加scale属性时遇到的一个bug。解决后对WorldScale为什么叫做LossyScale、空间变换和基变换有了更深的理解。 ...
当看到书名时,我承认内心有一丝挑战欲。受过系统的科研训练的人,往往对“真的”有“洁癖”。作者Robert Wright也认识到这一点,所以在开头便说,本书可以看作佛学观点的进化心理学解释。并不探讨轮回、神明这些超自然的部分,而探讨自然主义部分。并不探讨佛教各分支的细枝末节,而探讨核心思想。不要用佛教教义使自己成为更好的佛教徒,用它来做更好的自己。正是这句话让我有了继续读下去的意愿。 ...
“There are decades where nothing happens; and there are weeks where decades happen.” ― Vladimir Lenin 基于大语言模型的AI在这个月带给人们的感受,用列宁的这句话概括再贴切不过了。作为普通人,去拥抱这些AI工具,就像会使用智能手机和搜索引擎;对人类来说,就像学会用电,学会用火。 ...
市面上以DevOps为主题的书,以及和项目攻关的影视作品有不少了,但这本小说读起来依然紧张刺激。除了揭示管理现代IT组织与管理传统工厂的共通之处,书里更强调了以一种全局的视角来重新看待自己的工作环境,和自己在工作中扮演的角色,并且,其包含的问题分析方法、实践方法也或多或少可用于个人效能的优化。 ...