摘要: 前几个月面试一个美国公司, 给了几道线上题, 说是一星期都做完就行了, 因为当时在考编制, 就没有继续做了, 其中有一道就是装水的问题: 一个使用正方体作为基础, 随机生成的地面, 下雨之后能装多少水? 如下图: 姑且认为只要前后左右都有石头的时候, 就能把水存住 : 计算逻辑可以先从找到无法存水的 阅读全文
posted @ 2022-09-02 14:15 tiancaiKG 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 世界上总有各种奇怪的需求, 这不就来了吗. "把DotweenPath编辑的路径, 转为动画"... public static DOTweenPath doTweenPath; public static bool keep_y = true; public static bool markOri 阅读全文
posted @ 2022-08-22 09:33 tiancaiKG 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 最近有个实际用例, 需要用到空间相关的测试, 大概如下: 一个水体的数据, 是由很多微小的点组成的, 这些点就是体积水, 我们要表现的话, 需要从这些点中找出能代表水体表面的点, 然后划分成三角面, 组成水体表面的Mesh, 之后加个材质就能展现了. 查找这些表面顶点的方法就比较麻烦了, 目前没有找 阅读全文
posted @ 2022-08-17 15:34 tiancaiKG 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 最近有些需求, 要做机械臂的表现, 用动画来做可以解燃眉之急, 不过长远来看还是需要通过逻辑来做的... 其实有一些软件已经有求解器, 可以计算出相关数据, 不过需要在外部计算或者导入相关DLL, 需要长期调试, 只能简单找一些逻辑先应付着. 找到个 CyclicCoordinateDescent 阅读全文
posted @ 2022-08-10 17:01 tiancaiKG 阅读(106) 评论(1) 推荐(0) 编辑
摘要: 有些模型在建模的时候是单面的, 在显示中想要双面显示, HDRP的Lit已经有了双面功能, 不过Built-In的Standard没有支持, 只能自己复制出来然后改一下: // Unity built-in shader source. Copyright (c) 2016 Unity Techno 阅读全文
posted @ 2022-07-28 09:26 tiancaiKG 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 随着 Unity 的 Addressables 逐渐完善, 已经可以替代其它的打包加载卸载等工具的功能了, 今天做了一下测试, 有那么几个挺好的地方 : 1. AssetReferenceT<T> 引用的对象, 也正确参与 Addressables 相关加载卸载逻辑. 2. 有一些贴心设计比如场景如 阅读全文
posted @ 2022-02-28 15:38 tiancaiKG 阅读(2783) 评论(0) 推荐(1) 编辑
摘要: 最近用的比较多, 记录一下. 1. 需要获取Token的接口, 怎样去实现联动: 首先创建两个获取逻辑, 一个获取Token, 一个获取数据, 在获取数据的接口里面添加认证, 使用变量的方式来进行 : Header 里面添加了 Authorization 变量, 使用的传参是 {{token_typ 阅读全文
posted @ 2022-02-16 17:20 tiancaiKG 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 最近有些地方要用到 Timeline 这样的系统, 因为 Unity 自己提供了一套, 就直接拿来用了, 发现这套 Timeline 设计的比较复杂, 而且很多点都缺失, 甚至生命周期都不完善, 有点为了解耦而强行 MVC / MVVM 的设计思路, 扩展起来还是很麻烦的. 简单来说要做扩展只要生成 阅读全文
posted @ 2022-02-08 11:16 tiancaiKG 阅读(962) 评论(1) 推荐(1) 编辑
摘要: 一般后端提供来的接口文档有些是Swagger, 有些低代码的平台会直接提供Postman, 我们要快速导入Unity的话有很多方法, 如果是普通开发环境的话, 直接导出就行: PS : 需要先从 Editor 菜单中转换成 OpenAPI3 才行, 要不然生成类型不对. 可以直接得到C#代码, 不过 阅读全文
posted @ 2022-01-30 10:53 tiancaiKG 阅读(658) 评论(0) 推荐(0) 编辑
摘要: 之前一些简单功能用 Async await 的写法用的风生水起, 感觉还不错, 不过它的停止功能就比较尴尬, 一个 Task 没有办法去停止, 使用一个 CancelToken 的话还要自己去写里面的逻辑, 非常坑. 有个日本人写了一个整合到 Unity 的叫啥忘了. UniRx 其实很早就有人写了 阅读全文
posted @ 2021-12-03 15:51 tiancaiKG 阅读(500) 评论(0) 推荐(0) 编辑
摘要: 今天翻到一个以前写的序列化代码, 感觉有点惊艳啊, 懒人的典范, 必须记录一下才行. 事情是这样的, 比如有一个模拟, 每次打开都要往面板里面设置数据才能开始, 本来要求是每次都填的, 然后直接逻辑就读取了UI变量了, 然后要改成能够保存的方式, 于是有了这个脚本... 比如一个界面如图 : 怎样把 阅读全文
posted @ 2021-09-06 15:53 tiancaiKG 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 找了一个C写的库, 想用CPP来编一个DLL, 然后如下 : 定义起来还是比较简单的... 这是个C代码里面的方法, 要调用的就是它. 因为很多地方因为未赋值的指针不让编译, 关闭SDL检查才行. _CRT_SECURE_NO_WARNINGS 安全警告也直接加进去, 不管了 C 写的函数要经过 e 阅读全文
posted @ 2021-09-03 17:31 tiancaiKG 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 之前有不少插件做图表的, 都是不怎么样, 再厉害也比不过 ECharts 这些, 于是本地图表的加载就用它就解决了. 首先 Unity 里面要找一个网页插件能显示网页的, 最强的 ZFBrowser, 它可以提供本地的加载, 只需要在 Assets 同级目录创建一个 BrowserAssets 文件 阅读全文
posted @ 2021-09-01 15:15 tiancaiKG 阅读(851) 评论(0) 推荐(0) 编辑
摘要: 之前有一次情况特殊, 只能手撸网络框架代码, 因为时间紧张就需要一个非常极简风格的消息和分发框架了, 只要把网络的发送逻辑跟接收入口跟分发中心绑定, 然后所有操作只需要跟消息中心交互就行了, 就像下面这样 : public class MyIP : INetMessage { public stri 阅读全文
posted @ 2021-09-01 10:44 tiancaiKG 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 鼠标右键选择文件属性可以显示详细信息, 里面可以显示版本号 : 修改这个版本号也简单, 可以直接用 VS 的打开文件的方式打开它(只有这样打开才是查看详细信息的) : 然后双击版本信息就能编辑了, 编辑后保存就能修改了 : 手动的也挺方便的, 不过如果要使用代码来修改, 就有点麻烦了, 我找到一份C 阅读全文
posted @ 2021-08-31 10:59 tiancaiKG 阅读(2053) 评论(0) 推荐(0) 编辑
摘要: 最近用到 Echarts 之类的图表显示插件, 它基于不同的 Json 结构可以得到不同的图表, 我们从 http 请求来的数据一般就是 Json 的, 肯定就想通过图形式的数据映射来完成图表的显示了, 不过首先C#它不是JS这种对 Json 结构友好的语言, 要对一个Json节点进行更新的时候, 阅读全文
posted @ 2021-08-25 15:13 tiancaiKG 阅读(1059) 评论(0) 推荐(0) 编辑
摘要: 最近用 HttpWebRequest 做了个文件下载, HTTP 可以提供一些头信息的返回, 不过本身不带MD5之类的文件效验信息, 在做下载前可以跟本地文件进行一个对比, 如果跟本地文件相同的话就不需要下载了. HTTP的头返回中有两个有用信息 : ContentLength(文件大小) 和 "L 阅读全文
posted @ 2021-07-15 16:04 tiancaiKG 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 在开始使用之前, 建议先导入到一个空的工程里, 通过ReadMe的一步步引导使你对整个框架以及文件结构进行熟悉, 之后再考虑导入到现有工程中使用, 完整看完教程大概需要2个小时左右. 先看看文件夹结构: 它在AssetBundleMaster文件夹下有几个子文件夹: AssetBundleMaste 阅读全文
posted @ 2021-06-28 17:36 tiancaiKG 阅读(164) 评论(0) 推荐(0) 编辑
摘要: Before we start use it, you'd better import it to an empty project, following the ReadMe to learn this framework step by step, it may take 2 hours. Le 阅读全文
posted @ 2021-06-28 10:07 tiancaiKG 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 现在把插件发布到 AssetStore 已经非常方便了, 我就记录一下流程吧: 1. 从 AssetStore 中下载 Asset Store Tools 下来到工程里面, 然后流程看帮助文件就行了 我打不开 Guidelines , 这个是指导文件, 会说一些禁止事项和发布信息, 比如工程中不能用 阅读全文
posted @ 2021-06-09 17:31 tiancaiKG 阅读(252) 评论(1) 推荐(0) 编辑
摘要: 这个是很早前就有的插件了, 用起来确实非常爽, 不过对于更新(开发过程中的更新), 支持并不好, 先来看看它的逻辑 : 1. 从 PS 中导出图片资源和相关 Layout 信息, 以Json格式来的(需要把导出代码放到PS中) 2. 在 Unity 中使用 psd2ugui 就能生成 UI 了. 先 阅读全文
posted @ 2021-06-07 17:35 tiancaiKG 阅读(355) 评论(2) 推荐(0) 编辑
摘要: Before we start use it, you'd better import it to an empty project, following the ReadMe to learn this framework step by step, it may take 2 hours. Le 阅读全文
posted @ 2021-05-08 14:46 tiancaiKG 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 在开始使用之前, 建议先导入到一个空的工程里, 通过ReadMe的一步步引导使你对整个框架以及文件结构进行熟悉, 之后再考虑导入到现有工程中使用, 完整看完教程大概需要2个小时左右. 先看看文件夹结构: 它在AssetBundleMaster文件夹下有几个子文件夹: AssetBundleMaste 阅读全文
posted @ 2021-05-08 11:29 tiancaiKG 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 在开始使用之前, 建议先导入到一个空的工程里, 通过ReadMe的一步步引导使你对整个框架以及文件结构进行熟悉, 之后再考虑导入到现有工程中使用, 完整看完教程大概需要2个小时左右. 先看看文件夹结构: 它在AssetBundleMaster文件夹下有几个子文件夹: AssetBundleMaste 阅读全文
posted @ 2021-04-20 09:02 tiancaiKG 阅读(115) 评论(0) 推荐(0) 编辑
摘要: Before we start use it, you'd better import it to an empty project, following the ReadMe to learn this framework step by step, it may take 2 hours. Le 阅读全文
posted @ 2021-04-16 09:12 tiancaiKG 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 最近看了某个基于 WebRTC 的推流交互方案, 在 Unity 下基本实现了一个云平台的功能, 拿来测试了一下, 发现经过修改之后非常符合我们的需求, 也许之后就有机会运用起来了. 它应该也能成为云游戏的通信架构的方案, 问题只在于怎样实现云客户端罢了... Github : https://gi 阅读全文
posted @ 2021-03-24 11:35 tiancaiKG 阅读(1206) 评论(0) 推荐(0) 编辑
摘要: 之前用的 sqlite3 作为本地数据库, 可是它不能作为内存数据库, 是基于文件的, 在某些情况下没有读写权限就直接挂壁了, 比如 WebGL 中会报错 dlopen(), 然后给了一个链接, 看过去太复杂了没有懂, 或者安卓里面 StreamingAssets 是压缩包文件, 也是没法直接使用的 阅读全文
posted @ 2020-11-17 16:29 tiancaiKG 阅读(1335) 评论(2) 推荐(1) 编辑
摘要: 三维场景里面想要表现出热力图, 最简单的就是投影(Projection)或者叫贴花(Decals)了, 不过最近也有不少通过生成3D热力图的例子, 比如高德接口已经提供了3D热力图 : 生成3D热力图的方式按照生产流程来看, 大概有那么几种 : 1. 获得的数据是散点数据, 需要我们自己生成一张高度 阅读全文
posted @ 2020-09-27 10:08 tiancaiKG 阅读(2431) 评论(1) 推荐(2) 编辑
摘要: 挺久以前有个腾讯的面试, 也是基于游戏引擎开发东西的, 问到一个图片是怎样加载渲染的, 我最后说到压缩的图片直接进到GPU, 通过GPU解压获取最终像素, 然后被连着问了两次你确定? 然后我就有点迷糊了, 不是吗? 然后他也没说他为啥这样问, 或者想要的是什么答案, 就略了 现在回想起来, 可能是对 阅读全文
posted @ 2020-09-10 14:38 tiancaiKG 阅读(1450) 评论(0) 推荐(0) 编辑
摘要: (2020.09.01) 属于工程管理范围, 有点像工程流图, 有一些计算上有点坑的地方, 总体来看还是比较简单的, 直接上定义和公式先 : // 变量 ES - Early Start 最早开始时间 EF - Early Finish 最早完成时间 LS - Late Start 最晚开始时间 L 阅读全文
posted @ 2020-09-01 17:17 tiancaiKG 阅读(3375) 评论(0) 推荐(0) 编辑
摘要: (2020.08.31) 属于 PMP 范围, CSDN里面各种公式抄的, 完全不知道在说什么, 没时间吐槽了, 直接把公式跟案例对接起来才行 挣值相关的计算总结 -- 基于成本的计算 // 基础数值 EV - Earned Value 挣值[当前赚了多少(不计成本)] PV - Planned V 阅读全文
posted @ 2020-08-31 16:12 tiancaiKG 阅读(863) 评论(0) 推荐(0) 编辑
摘要: (2020.08.31) 前两天想到这个高工证, 打算报名考试去, 虽然是个烂大街的证, 不过11月就开考了, 也没看过相关资料, 今天开始记录一下以后靠前复习也方便, 总不能天天带个笔记本跑, 不方便... 星期六来加班, 看到同事桌子上有个信息系统项目管理的书, 拿去看了一天, 900多页, 看 阅读全文
posted @ 2020-08-31 15:27 tiancaiKG 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 最近都在搞这东西, 虽然市面上很多 Json2CSharp / Xml2CSharp 的东西, 不过几乎都不对, 在生成 CSharp 类型的时候归并得不好, 他们的逻辑大致就是根据节点名称来生成类型, 然后如果名称相同的话, 就归并到一起, 可是很多时候同名节点下有同名的对象, 在它们类型不同的时 阅读全文
posted @ 2020-08-26 17:49 tiancaiKG 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 扩展方法 Extension Method 我们很多时候都是考虑方便性才去添加的, 系统库也有很多, 像 Linq / Expression 之类的, 使用起来就像是给对象添加了一个成员函数一样 : 官方例子 namespace ExtensionMethods { public static cl 阅读全文
posted @ 2020-08-05 11:03 tiancaiKG 阅读(650) 评论(0) 推荐(0) 编辑
摘要: 模块化不管是对工程管理还是开发来说, 都是百利而无一害的, 从开发层面来看, 它强行让开发人员在开发的时候要考虑到跟其它模块的解耦, 考虑在其它环境下的泛用性和复用性, 直接就能提高开发水平, 并且在开新项目或者移植的时候, 能够拿来就用, 或者单独使用, 或者拼凑使用这些模块, 要什么功能就下哪个 阅读全文
posted @ 2020-08-04 18:43 tiancaiKG 阅读(325) 评论(1) 推荐(0) 编辑
摘要: 之前在测试怎样运行 WebGL 的时候使用了远程加载文件进行测试 : 发布WebGL的过程 因为对浏览器不是很熟悉, 现在用编辑器模式直接跑一下, 来看看 UnityWebRequest 的下载和缓存, 我使用了一个叫 WebGL_Test 的工程, 然后获取它的编辑器下的缓存目录看看 : [Men 阅读全文
posted @ 2020-07-28 15:29 tiancaiKG 阅读(3227) 评论(0) 推荐(0) 编辑
摘要: Unity系统提供的协程等待有下面几个 : yield return new WaitForFixedUpdate(); yield return new WaitForEndOfFrame(); yield return new WaitForSeconds(1.0f); yield return 阅读全文
posted @ 2020-07-27 10:23 tiancaiKG 阅读(2062) 评论(0) 推荐(1) 编辑
摘要: 从 Unity 弃用两个跟网页相关的API之后, 就开始使用 jslib 了: [Obsolete("Application.ExternalEval is deprecated. See https://docs.unity3d.com/Manual/webgl-interactingwithbr 阅读全文
posted @ 2020-07-14 17:37 tiancaiKG 阅读(3109) 评论(2) 推荐(1) 编辑
摘要: 之前使用的 ZFBrowser 嵌入方案可以发布到 Win, OS, Linux 上, 可是其它的就不行, 因为它用的谷歌内核嘛, 在 WebGL 上照理来说应该是最方便的啊, 因为它本身就是运行在浏览器内核上的, 前面的 BrowserInput 已经研究过向网页注入代码以及调用了, 现在试试在 阅读全文
posted @ 2020-07-14 10:33 tiancaiKG 阅读(3526) 评论(0) 推荐(0) 编辑
摘要: 网页嵌入插件最好的应该就是ZFBrowser了, 可是使用起来也是问题多多, 现在最要命的是网页输入不能打中文, 作者也没打算接入IME, 只能自己想办法了... 搞了半天只想到一个办法, 就是通过Unity的IME去触发中文输入, 然后传入网页, 也就是说做一个透明的 InputField 盖住网 阅读全文
posted @ 2020-07-03 16:32 tiancaiKG 阅读(3958) 评论(3) 推荐(1) 编辑