unity

Unity AssetBundle笔记

江枫思渺然 提交于 2020-02-26 13:48:02
1.入门: Resources:表示U3D自动将资源打成一个AssetBundle包,所有放在Resources下的文件夹都会打成一个AssetBundle包,资源非常大,Resources文件夹在真机上最大只有2G的内存(专业版会增大内存) AssetBundle包:其实可以看成一个压缩包(有固定格式的),默认情况下使用LZMA压缩方式压缩的资源文件;和压缩ZIP一样的,只不过里面的格式变了   Unity3D引擎为我们提供了三种压缩策略来处理AssetBundle的压缩,即:     1、LZMA格式:         在默认情况下,打包生成的AssetBundle都会被压缩。在U3D中,AssetBundle的标准压缩格式便是LZMA(LZMA是一种序列化流文件),因此在默认情况下,打出的AssetBundle包处于LZMA格式的压缩状态,在使用AssetBundle前需要先解压缩。使用LZMA格式压缩的AssetBundle的包体积最小(高压缩比),但是会相应的增加解压缩的时间     2、LZ4格式:         Unity5.3之后的版本增加了LZ4格式压缩,由于LZ4的压缩比一般,因此经过压缩后的AssetBundle包体的体积较大(该算法基于chunk)。     3、不压缩 Resources和AssetBundle的区别:   1、Resources

[翻译]Unity中的AssetBundle详解(三)

早过忘川 提交于 2020-02-26 12:22:18
构建AssetBundles 在 AssetBundle工作流程 的文档中,我们有一个示例代码,它将三个参数传递给 BuildPipeline.BuildAssetBundles 函数。让我们更深入地了解我们实际上在说什么。 Assets/AssetBundles :这是AssetBundles将被输出到的目录。您可以将其更改为所需的任何输出目录,只需在尝试构建之前确保文件夹实际存在。 BuildAssetBundleOptions 有多种不同的 BuildAssetBundleOptions 选项可以选择。相关的各个选项可以参阅脚本API文档中的关于 BuildAssetBundleOptions 的内容。 虽然随着需求的变化和增加,您可以自由组合 BuildAssetBundleOptions 选项,但有三个特定的 BuildAssetBundleOptions 是用来处理AssetBundle压缩: BuildAssetBundleOptions.None:此bundle选项使用LZMA格式压缩,这种压缩是序列化的数据文件的单一压缩的LZMA流。 LZMA压缩的文件在使用前需要对整个bundle解压缩。这导致最小的文件大小和由于解压缩而稍微增加的加载时间。值得注意的是,当使用此 BuildAssetBundleOptions 时,为了使用捆绑包中的任何资源

ubuntu 控制面板安装

好久不见. 提交于 2020-02-26 09:16:38
一、unity-control-center 的安装 ubuntu系统控制面板设置里面的设置项不全,此时需要重新安装下 unity-control-center, 在终端输入以下内容安装 unity-control-center,安装完成后即可修复此问题 : sudo apt-get install unity-control-center 如图: 二、 Unity tweak tool 的安装 命令行输入:sudo apt install unity-tweak-tool 直到安装完成。 命令行输入:unity-tweak-tool 即可打开软件 打开会出现错误Error: schema com.canonical.notify-osd not installed 输入命令:sudo apt-get install notify-osd 然后重新打开即可 来源: oschina 链接: https://my.oschina.net/u/2444569/blog/3165264

Unity笔记 第一天

我们两清 提交于 2020-02-25 22:15:06
与3D物体交互 思路 第一步,我们想在Unity3D中交互的时候,首先我们想到的是射线,调用Ray这个API,这样我们就可以用我们的鼠标(键盘)来与3D物体交互了,在这个案例中我用的是鼠标与之交互,如果有兴趣的可以用键盘试一试,我在下一篇中将会使用键盘与之交互,并且制作类似于吃鸡或者APG游戏中拾取物体那样。 第二步,交互一般都是有UI或者是窗口,当触发一个事件时将UI弹出来。 第三步,制作UI。 步骤 private void MouseClickRay ( ) { Ray ray = Camera . main . ScreenPointToRay ( Input . mousePosition ) ; if ( Physics . Raycast ( ray , out hit , 50 , ClickCub . value ) ) { WindosOfCube . Instance . ClickCubeisShow ( ) ; Debug . Log ( "被检测的物体的名字:" + hit . collider . gameObject . name ) ; } } 我在TouchCube这个类中写了用鼠标控制射线的方法 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); 这样就可以将射线与鼠标绑定

Unity和安卓的交互

折月煮酒 提交于 2020-02-25 19:42:15
1AndroidStudio端: build项目后得到Unity中可以使用文件的位置 此文件需要放入Plugins/Android文件夹中 此文件可以用压缩软件打开 注意其中的lib,Unity和AndroidStudio中只能有一个,可以放入Unity的bin文件夹中 2.Unity端: 注意打包时的包名和AndroidStudio中的包名一致 来源: https://www.cnblogs.com/rzy200205/p/12363260.html

Unity - Timeline 之 Adding clips(添加剪辑)

心已入冬 提交于 2020-02-25 18:14:03
目录: Unity - Timeline 知识汇总 原味:https://docs.unity3d.com/Packages/com.unity.timeline@1.2/manual/clp_add.html 翻译时Timeline版本:Timeline 1.2.11 Adding clips 添加剪辑 Timeline 窗口支持给轨道不同的方式添加剪辑,依赖于你当前选中的轨道类型。 最快速添加剪辑的方法是右键选择 Add xxx Clip 的方式。 右键上下文菜单添加Activation剪辑。 还有其他方式添加剪辑: 轨道头里的菜单项里选择 添加 剪辑项,那么将会在播放头的位置添加对应的剪辑。 拖拽一个Project视图下的动画资源到Timeline窗口空白处将会自动添加一个Animation轨道添加了一个Animation剪辑,动画剪辑的内容就是你刚刚拖拽的动画资源。 拖拽一个Project视图下的动画资源到Timeline窗口中已存在的轨道中,则将会给该轨道添加一个Animation剪辑。 拖拽一个Project视图下的Audio音频资源到轨道或空白处都可以添加Audio剪辑。 拖拽一个带有Playable Director组件的GameObject,将创建嵌套的Timeline实例。这会自动创建一个Control

动画方面

守給你的承諾、 提交于 2020-02-25 14:53:57
1.Aseprite–像素制作工具,可制作动画 2.Svga–帧动画升级版,unity 内有插件 3.Spine–骨骼动画 4.Lottie–没去找unity是否有插件支持 5.粒子系统实现帧动画–性能待考察, 链接 svge和lottie多用于ios,android,web开发。 具体链接 。 Lottie实现形式为:设计者导出文件,程序读取就可实现。 Svge实现形式为:将 Flash 以及 After Effects 动画导出成 .SVGA 文件(实际上是 ZIP 包),Unity通过插件去读取。 来源: CSDN 作者: 多麻多辣不要香菜 链接: https://blog.csdn.net/weixin_44079314/article/details/104494623

unity inspector 自动装载Commont和Prefab属性

自古美人都是妖i 提交于 2020-02-25 07:45:36
在使用unity的过程中,经常遇到这样的问题:每次都需要手动为序列化属性。像这样: 试着找了找,真的找到了一份代码,但是缺少自动装载Prefab的功能。之后我花了点时间添加这个功能。 使用方法: 1   [Autohook] 2 public Button SendBtn; 3 [Autohook] 4 public Button StartBtn; 5 [Autohook] 6 public Button LeaveBtn; 7 [Autohook] 8 public Text RoomDateText; 9 [Autohook] 10 public ScrollRect PlayerList; 11 12 [Autohook(AutohookAttribute.HookType.Prefab)] 13 public GameObject PlayerBarPrefab; 14 [Autohook(AutohookAttribute.HookType.Prefab)] 15 public GameObject RoomBarPrefab; 下面是源文件: 1 // NOTE DONT put in an editor folder! 2 using UnityEngine; 3 4 /// <summary> 5 /// use [Autohook] to modify

Unity3D中BundleIdentifier、Bundle Version、Bundle Version Code的区别

我的梦境 提交于 2020-02-25 01:25:42
Bundle Identifier iOS、Android公用,字符串,一般格式为com.company.game,iOS里用于开发者证书 例:PlayerSettings.bundleIdentifier = “com.senlin.xuka”; Bundle Version iOS、Android公用,字符串,一般格式为1.2.3,用于显示给用户的版本信息。特别注意:如果iOS要提审AppStore,那么Bundle Version必须是3位,不可以4位,比如1.2.3.0这样是不行的 例:PlayerSettings.bundleVersion = “1.2.0”; Bundle Version Code Android 特有,数字,anroid版本的内部版本号,可用于区别当前版本是否最新apk,进而整包更新 例:PlayerSettings.Andcroid.bundleVersionCode = 120; Build Number iOS特有,意义同上 来源: CSDN 作者: iningwei 链接: https://blog.csdn.net/iningwei/article/details/104486598

Unity API Random生成随机数

大兔子大兔子 提交于 2020-02-24 23:31:23
静态方法 Range public static float Range(float min, float max); Random.Range(4, 10); // 生成 4-9 之间的数,不包含最大值 Random.Range(4, 5f); // 生成 4-5 之间的小数,不包含 5 InitState public static void InitState(int seed); 随机种子,不写也可以,Unity每次都会自动生成随机种子 void Start () { Random.InitState(( int )System.DateTime.Now.Ticks); // ticks 这个属性值是指从 0001 年 1 月 1 日 12 : 00:00 开始到此时的以 ticks 为单位的时间,就是以 ticks 表示的时间的间隔数。 } ColorHSV 随机颜色 public static Color ColorHSV(); public static Color ColorHSV(float hueMin, float hueMax); public static Color ColorHSV(float hueMin, float hueMax, float saturationMin, float saturationMax); public static