RxTool(Android 工具库)
前言 所谓:工欲善其事必先利其器! RxTool 是 Android 开发过程经常需要用到各式各样的工具类集合,虽然大部分只需谷歌一下就能找到。 但是有时候急需使用却苦苦搜寻不到,于是整理了自己平常用到的工具类,以便以后的使用。 ★★★★★ ★★★ ★★ ★ ★ ★ ★ ★ 关键词 **Android 开发人员不得不收集的工具类集合 ** ** 支付宝支付 ** ** 微信支付(统一下单)** ** 微信分享 ** Zip4j 压缩(支持分卷压缩与加密) ** 一键集成 UCrop 选择圆形头像 ** ** 一键集成二维码和条形码的扫描与生成 ** ** 常用 Dialog** **WebView 的封装可播放视频 ** ** 仿斗鱼滑动验证码 ** **Toast 封装 ** ** 震动 ** GPS **Location 定位 ** ** 图片缩放 ** Exif ** 图片添加地理位置信息(经纬度)** ** 蛛网等级 ** ** 颜色选择器 ** ArcGis VTPK *...
独立游戏的成功之母
前言🎲 独立游戏的高失败率与成功秘诀 为什么这款游戏会失败?或者这款,或者那款?感觉是五五开。如果你开发独立游戏,完全不知道骰子会怎么落,情况只会更糟。当你意识到只有 4% 的游戏能盈利,这概率简直糟糕透了! 但有些却成功了,所以我为什么不能?我…… 这就是老生常谈的问题。肯定有方法在其中,某种能让游戏畅销的秘诀。 正如本杰明 · 安德森所说,如果你在寻找独立游戏开发大师,有制胜法宝或简单技巧,想成为成功开发者——然而,** 存在经过验证的商业流程 **,遵循后可大幅降低失败风险,确保独立游戏具备成功潜力的基础步骤。 正文💡 转变热情:从想法到开发过程 这一切始于转变你的热情。所有开发者遇到的第一个问题,就是过于专注想法。充满热情的项目,通常以他们热爱的游戏为模板。这些开发者初期很顺利,梦想游戏驱动他们前进,但随后遇到一些障碍。这些开发者意识到编程很难,或发现自己不够艺术,或音乐不够出色。无论怎样,自我怀疑的感觉涌上心头。这些曾经热情的开发者陷入“冒名顶替综合征”,觉得自己无法完成,或游戏开发不适合自己。 即使完成游戏的开发者也常犯错,因为当游戏上线无人问津时,他们选择放弃...
Docker 中 MongoDB 数据库的备份与恢复
前言在实际开发和部署过程中,我们经常需要在 Docker 环境中管理 MongoDB 数据库。本文将详细介绍如何在 Docker 中备份和恢复 MongoDB 数据库,并解决在此过程中可能遇到的各种问题。 正文1. MongoDB 数据库导出1.1 导出工具选择 工具 格式 适用场景 数据保真度 mongodump 二进制 BSON 完整备份 / 迁移 高,保留所有数据类型 mongoexport JSON/CSV 数据分析 / 交换 可能损失部分数据类型 1.2 使用 mongodump 进行完整备份1234567891011# 在 Docker 容器内执行 mongodumpdocker exec -it <mongodb_container_name> mongodump -h 127.0.0.1:27017 --authenticationDatabase=admin -u <username> -p <password> -d <database_name> -o /tmp/mongodb_backup ...
Unity 多线程渲染导致部分手机崩溃
前言测试环境: Unity2021.3.24f1 崩溃堆栈 Logcat 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 E *** *** *** *** *** *** **...
好用的 CDN 之 jsDelivr
前言CDN 的全称是 Content Delivery Network,即内容分发网络。CDN 是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN 的关键技术主要有内容存储和分发技术。——百度百科 由于某些原因,很多公用免费的 CDN 资源在中国大陆并不很好用,就算是付费的,也有一定的限制,例如每天的刷新次数有限之类的。那有没有一款造福人类的,或者造福中国大陆的公用 CDN 呢? 正文jsDelivr先看看官方的介绍: 这是在中国大陆唯一有 license 的公有 CDN,而且实际使用中的访问速度也是极快的(虽然官网打开速度慢 与 Github、NPM、WorldPress 整合官网地址:https://www.jsdelivr.com 没梯子访问可能有点慢,不过 CDN 的节点是很快的 可以引用的资源包括 NPM、github、wordpress 的所有资源,github 可以是任意体积小于 50M 的仓库。 以 github 为例,只需要通过...
Unity 坐标系统
前言本文会详细介绍三维软件中 7 种坐标的特点与关系,还有在脚本编辑和 shader 系统中的使用方法后续更新 正文不同空间中坐标的转换方法七种坐标系简介 unity 使用的是左手坐标系,即:↑=Y,↓=-Y,前 = Z,后 =-Z,←=-X,→=X。总共有七种坐标系,分别是模型坐标、世界坐标、观察坐标、裁剪坐标、屏幕坐标、ui 坐标,uv 坐标这七种坐标会按照一定顺序转换在程序中运行,实际上这就是模型从计算到在屏幕上显示的过程。 一 模型坐标 Local Space (模型坐标):就是一个模型自己的坐标,如果该模型下有子模型,则子模型也拥有自己的模型坐标,多个子模型在父模型下共享父坐标。坐标:模型原点为(0,0)需要说明的是一个模型坐标的原点位置在创建模型的时候就定义好了。如果需要更改只能在 blender 或 3dmax 等建模软件中设定。unity 是不能设置模型坐标原点的。获取方式:在 unity 脚本中:transform.localPosition在 unity shader 中:顶点着色器默认输入的就是模型坐标 二 世界坐标 World Space(世界坐标):...
Unity 的 ShaderLab 着色器入门
前言如果你对 cg glsl hlsl 顶点 着色器 片段着色器 表面着色器 固定渲染管线 等等有所疑惑,或是想学会 unity 的渲染,看这一篇就足够了。另外我博客的 shader 分类中还有很多 shader 教程和源码,每篇源码都有实现思路、语法功能注释,还在不断更新添加中。感兴趣的请自行查看 正文让 vs 支持 shader点击 vs 的工具 > 扩展和更新 > 联机 > visual studio marketplace搜素 shader点击下载重启 vs弹出 installer,点击修改 即可。 一,基础知识关于着色器语言与 Shader Lab 着色器语言有三种:hlsl(DirectX)glsl(OpenGL)cg(支持以上两种)Shader Lab 是 unity 封装了 cg、hlsl、glsl 的 unity 专有着色器语言。shaderlab 具有跨平台、图形化编程、便于着色器与 unity 通信等优点。在 unity2018.3.5f 以后版本,可以使用图形化工具 shader graph 来大幅缩减 shader 编程成本,使这个令人...
C# 中 ReadOnly 和 Const 的区别
前言这里是前言介绍。 C# 基本知识点 - Readonly 和 Const 的区别** 目录 ** ** 什么是静态常量(Const)和动态常量(Readonly)** ** 静态常量(Const)和动态常量(Readonly)之间的区别 ** ** 动态常量(Readonly)被赋值后不可以改变 ** ** 总结 ** ** 什么是静态常量(Const)和动态常量(Readonly)** 先解释下什么是静态常量(Const)以及什么是动态常量(Readonly)。 ** 静态常量(Const)** 是指编译器在编译时候会对常量进行解析,并将常量的值替换成初始化的那个值。 ** 动态常量(Readonly)** 的值则是在运行的那一刻才获得的,编译器编译期间将其标示为只读常量,而不用常量的值代替,这样动态常量不必在声明的时候就初始化,而可以延迟到构造函数中初始化。 ** 静态常量(Const)和动态常量(Readonly)之间的区别 **静态常量(Compile-time Constant) 动态常量(Runtime Constant) 定义 声明的同时...
Unity 粒子特效的适配
前言最近在工作中使用粒子特效是发现了两个问题 1. 美术提供的粒子特效没有根据屏幕分辨率自适应调整大小 2. 粒子特效的层级比较奇怪 正文粒子特效自适应在 Unity 编辑器开发中,使用的是 1080*1920 的分辨率,粒子特效大小看起来完美契合。 在打包运行在手机上时,因为手机的分辨率为 1440*2960, 粒子特效就明显大于了 UI 界面。 解决办法: 将粒子特效的 Scaling Mode [缩放模式] ,改为 Hierarchy [跟随父节点缩放]。 注意,改变了缩放模式之后,运行时会发现粒子变得特别小,这是因为 Unity 重置了该粒子特效的大小,只需要重新调整大小即可。 因为我是在 FGUI 的基础上穿插使用粒子特效,因为 FGUI 与 Unity 的比例不一致,比例为 1:100,所以粒子特效需要将缩放比放大 100 倍。 Scaling Mode 为 Local 时不会有 FGUI 的比例问题,但是会有分辨率不适配问题,两害取其轻,所以选用 Hierarchy 模式。 1effect.transform.localScale = Vector3...
《守望先锋》架构设计和网络同步
前言《守望先锋》2017 GDC 系列的分享前几年给了我很多帮助,尤其是 kevinan 大神的翻译更让我受益良多,如今我再想温习一下相关技术却发现很多网络上的文章图片都已经坏掉了,故在此收集网络资源发布重置版,当成备份。 重制版内容:新增多级标题,方便分块阅读,部分图片已由本人重置,一些必要的地方我录制了 Gif 图,方便观看。 全系列链接:《守望先锋》GDC2017 技术分享精粹重制版总目录 原视频链接:https://www.youtube.com/watch?v=W3aieHjyNvw&t=2886s&ab_channel=GDC ECS[](#ecs 概述)ECS 概述哈喽,大家好,这次的分享是关于《守望先锋》(译注:下文统一简称为 Overwatch)游戏架构设计和网络部分。老规矩,手机调成静音;离开时记得填写调查问卷;换下半藏,赶紧推车!(众笑) 我是 Tim Ford,是暴雪公司 Overwatch 开发团队老大。自从 2013 年夏季项目启动以来就在这个团队了。在那之前,我在《Titan》项目组,不过这次分享跟 Titan 没有半毛钱关系。(众笑...
