Unity3D 基础系列(第一期)安装编辑器Unity 中文官网:https://unity.cn/releases在官网找到想要安装的版本,点击从Unity Hub下载如果电脑上没有安装 hub,就需要先安装好 hub,再点击上图的按钮,hub 会弹窗安装对应的编辑器版本。如果需要打包到安卓手机,则需要安装 Android Build Support 模块。需要其他平台就勾选对应的模块。如果只需
转载 2024-08-05 21:53:38
174阅读
文章目录前言一、本地化配置二、加载三、未配置问题总结 前言本地化/多语言是一个成熟游戏必备的功能,英文为localization,简称l10n。 附:官方文档。 以下操作需要第一篇文章的前置准备一、本地化配置1、本地化配置规则l10n:input_text_files 本地化映射文件 l10n:text_field_name 映射的目标字段名。因为有可能多个语言都在同一个映射表内(如text_t
转载 2024-05-16 02:24:10
672阅读
1 Sriptable Render Pileline1.1 主要把渲染管线拆分成二层:一层是比较底层的渲染API那层,像OpenGL,D3D等相关的都封装起来。另一层是渲染管线比较上层的描述,上层代码使用C#来编写。在C#这层不需要关注底层在不同平台上渲染API的差别,也不需要关注具体如何做一个Draw Call。1.2 特征官方基于SRP提供了二套模板:一个是LWRP(轻量级渲染管线,后改名U
打包前在做例行内存检测,发现了一些很值得说的点。当lua层直接穿透到C#层获取组件调用时,类似toggle,slider都有一个onvalueChange的属性,这个属性的监听是不会随着组件本身的销毁和解除引用而被GC的,需要手动removeListener和invoke,不然就会内存泄漏。对于复合应用类组件,释放组件的时候要遍历内部二次加载的物体(通常是因为需要动态加载导致),先销毁内部物体,释
转载 8月前
165阅读
主要内容介绍unity常用的与序列化相关的属性,总结一下unity的序列化系统一、SerializeFieldunity在序列化脚本时,它只会序列化公有字段,如果想要序列化私有字段,就需要为该字段添加SerializeField特性,该特性用于强制序列化私有字段;序列化的目的是为了进行本地存储,unity将会序列化所有的脚本化组件然后从序列化版本中重新创建脚本组件;unity的序列化不是.NET的
转载 2024-03-21 22:48:45
278阅读
功能需求:假设项目中有一个UI公告板的需求,这个公告板的长度或者宽度是固定的。里面有很多带文字的新闻,但是这些个新闻的字数和大小是不固定的,要求模仿自动布局组件,写一个组件满足UI的需求。前置学习(主要学习来自与唐老狮的UGUI课以及自己总结,感兴趣可以自行去购买查看内容)要想完成该功能,首先需要学习已经存在的自动布局组件,了解已经存在的自动布局组件为什么不能满足该需求。Layout Proper
转载 2024-05-31 01:08:56
154阅读
工具:VS、.2.3f、LuaStudio(方便编写Lua)、SimpleFramework_UGUI-0.3.7.2 Demo介绍如何使用uLua对UI进行热更新 【框架结构介绍】 Editor:一些编辑器扩展的脚本代码 Example:一个热更新例子介绍 Lua:实现热更新的核心lua代码 Source:实现热更新的核心C#代码 StreamingAssets:将生成的AssetBundl
转载 2024-02-27 20:10:55
162阅读
正文ResourceManager维护所有Loader,除了GameObjectLoader外,其他类型的资源都是一个路径一个Loader,由于预设可以复制,所以每复制一个预设,就创建一个GameObjectLoader,后面会详细介绍下面先来个简单的例子,后面介绍GameObjectLoader例子。假设此处有A/B/C三个地方同时加载"Assets/Works/Res/CS_Bytes/UIC
目前做app开发总绕不开图片这个元素。但是随着手机拍照分辨率的提升,图片的压缩成为一个很重要的问题。单纯对图片进行裁切,压缩已经有很多文章介绍。但是裁切成多少,压缩成多少却很难控制好,裁切过头图片太小,质量压缩过头则显示效果太差。 于是自然想到app巨头“微信”会是怎么处理,Luban(鲁班)就是通过在微信朋友圈发送近100张不同分辨率图片,对比原图与微信压缩后的图片逆向推算出来的压缩算法。 因为
转载 2023-05-18 20:34:47
107阅读
Lua 是动态类型语言,变量不要类型定义。Lua 中有 8 个基本类型分别为:nil、boolean、 number、string、userdata、function、thread 和 table。函数 type 可以测试给定变量或者值 的类型。 变量没有预定义的类型,每一个变量都可能包含任一种类型的值。  注意上面最后两行,我们可以使用 function 像使用其他
转载 1月前
360阅读
# Android Luban使用 在Android开发中,经常会遇到需要压缩图片的需求,以减小图片文件大小,节省存储空间和加快加载速度。其中,Luban是一个优秀的图片压缩库,它可以帮助我们快速实现图片压缩的功能。 ## Luban简介 Luban是鲁班压缩算法的Android实现,可以根据指定的目标大小对图片进行压缩处理。它支持多种图片格式,包括jpg、png等,并且在压缩过程中能够保持
原创 2024-05-07 07:11:49
381阅读
# Android开发 Luban 实现教程 ## 1. 整体流程 ```mermaid flowchart TD A(准备工作) --> B(引入依赖库) B --> C(配置权限) C --> D(调用 Luban 压缩图片) D --> E(获取压缩后的图片) ``` ## 2. 具体步骤 ### 2.1 准备工作 在项目的 `build.gradl
原创 2024-05-11 05:45:06
145阅读
# Android Luban 压缩 ## 简介 Android Luban 是一款用于图片压缩的开源库,可以将高分辨率的图片压缩到指定的大小,同时保持图片的清晰度。Luban 使用了多种压缩算法和策略,可以在不同场景下获得更好的压缩效果。 ## 使用方法 ### 添加依赖 首先,在项目的 build.gradle 文件中添加依赖: ```groovy dependencies {
原创 2023-07-27 04:15:19
314阅读
# 理解并实现 Android Luban 原理 在 Android 开发中,Luban 是一个用于压缩图片的优秀库,能够为我们节省存储空间和提高用户体验。本文将带你深入了解 Luban 的工作原理,以及如何在实际项目中实现这一功能。 ## 整体流程 为了帮助你更好地理解 Luban 的工作流程,我们将其过程分解为以下几个步骤: | 步骤 | 描述
原创 8月前
134阅读
# Android Luban用法指南 ## 一、整体流程 为了帮助你更好地理解如何使用Android Luban,我将整个过程分为以下几个步骤,让你一步步学习如何使用这个强大的图片压缩库。 ```mermaid journey title 整体流程 section 操作步骤 开始 --> 下载Luban --> 导入Luban --> 使用Luban -->
原创 2024-03-25 05:05:36
103阅读
  一个或多个文件,太占空间?那么macz为您推荐收藏这些App压缩软件,给文件来点“压”力,zip归档随时释放您的Mac空间。  ZIP 归档可以把一个或多个文件压缩成占用空间更小的单一文件。当你想释放硬盘空间,或者需要通过邮件和《信息》发送多个文件时,ZIP 的重要性不言而喻。  macOS 的《访达》内置了 ZIP 压缩功能,使用方法非常简单。下面就来看看它的基本用法,以及一些进阶功能。  
# 如何在Android中实现Luban图像压缩 在移动开发中,图像处理是一个常见的需求,尤其是在上传或显示大量图像时。Luban是一个轻量级的Android图像压缩库,它非常高效并且使用简单。然而,对于刚入行的小白开发者而言,可能会遇到“Android luban无效”的问题。本文将通过一系列步骤教你如何正确实现Luban的图像压缩,并分析每个步骤的实现代码。 ## 整体流程 为了确保清晰
原创 9月前
26阅读
# Luban: Android 图片压缩库的使用与实践 在移动应用开发中,图片的加载和存储是一个常见而重要的任务。尤其在 Android 应用中,图片的大小通常会直接影响应用的性能和用户体验。为了有效地管理图片资源,Luban,一个轻量级的图片压缩库,便成为开发者的一个良好选择。本文将介绍 Luban 的基本用法,并结合实例代码,帮助大家理解如何在 Android 项目中高效地使用这一库。
原创 2024-10-19 08:11:07
45阅读
      前言:抱着最起码的要求尽力去做好每一件事 ! ——秋不白     记录学习音视频的过程,目前到 了音视频的录制,后面再学习openGl ES,FFmpeg等      前面有使用SurfaceView 来预览Camera以及拍照,根据重力传感器来动态设置Camera.setRo
转载 2月前
6阅读
1.可以直接拷贝用的代码private void encode(String path) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); //输出流baos BitmapFactory.Options options = new BitmapFactory.Options(); options.inSample
  • 1
  • 2
  • 3
  • 4
  • 5