- 博客(12)
- 资源 (7)
- 收藏
- 关注
原创 Unity Scroll左右滑动UI自动居中
最近要实现一个左右滑动图片和文字居中显示的功能,其实也可以理解为Scroll添加了Layout组件让每个UI保持相同的间距,每一次在屏幕上的手指滑动,UI都是滑动了相同的距离。
2024-01-30 09:44:26 531
原创 Unity Shader相关总结(一)
这里我们需要明白一件事情,那就是在游戏这个三维空间里,除了世界空间的坐标体系,还存在着其他的空间坐标体系,这些空间坐标体系大部分是以自身作为参考或者原点,比如模型空间,可以定位模型部件的一个相对位置,观察空间,以摄像机为原点,计算模型在观察空间的一个位置坐标。A矩阵的第一行数字和B矩阵的其他列的每一列数字相乘再相加,得到C矩阵第一行的所有数字,再以此类推让A矩阵的第二行数字和B矩阵的所有列的每一列数字相乘再相加得到C矩阵的第二行所有数字。这个时候矩阵就能够帮助我们解决这个问题,怎么解决呢?
2023-07-19 16:30:12 199
原创 Unity代码热更-HybridCLR总结(一)
熟悉我写作风格的都知道我喜欢把文档链接放在最后,主要是我看了一下现在的官方文档,现在他们推荐使用的是2021.3.1版本(目前GitHub上的官方示例工程用的就是这个版本),我们立项的时候当时推荐的还是2020.3.x版本...所以我这个教程总结还是按2020.3.x来写的,避免大家有所误解,所以先把文档放前面了,大家可以看文档来尝试,也可以使用2020.3.x版本跟着我的步骤来操作(PS:我的步骤会比较详细些)。至于怎么去优化这一系列流程以及原理剖析,请关注我的后续文章。我们还没有对代码进行热更啊!
2023-07-18 19:00:07 4299
原创 Unity资源热更-Addressables总结(三)
1.这里先说个大小包的问题,大概可以这么归类一下,即有些项目可能给渠道审核的是一个完整包,将全部资源包含在包体内,俗称大包,有些项目给的是一个尽可能小的包体,采用登录时下载资源的策略,俗称小包,小包模式可以直接用Addressables的Remote模式即可,像大包模式都是将资源打入包体,那么怎么给包体内的本地资源做热更新呢?2.资源冗余的问题,关于资源依赖的问题,我想大家可能多多少少都有些了解,在这里我就不多做赘述了,总之我们在使用AB包的时候肯定部分资源重复打包的问题,造成整个AB包的总量偏大。
2023-07-18 11:23:55 1028
原创 Unity资源热更-Addressables总结(二)
OK,这里我将总结Addressables的一些代码上的用法,众所周知,Addressables的用途就在于资源的热更、加载和卸载,等于是把我们之前工程对AssetBundle资源包的管理类AssetManager该干的事给干了1.首先是资源的热更,这个绝大多数的解决方案都是在登录界面检查资源更新,然后下载更新到本地,那么在Addressables中如何实现这种热更呢?先把这个Disable Catalog Update on Startup的选项给勾选,表示在应用启动的时候不自动更新我们的Cata
2022-02-20 21:25:10 7694 2
原创 Unity 渲染管线总结
关于渲染管线,说实话现在网上有很多种说法,我最开始接触渲染管线的时候,得到的流程是这样:1.顶点着色器:计算模型顶点的位置信息,并且转换到剪裁空间2.光栅化:对这些顶点设置三角形,遍历这些三角形,然后将其转化为离散屏幕像素点的过程3.片段着色器:采样并决定屏幕像素最终的颜色,并进行alpha测试,模版测试,深度测试,alpha混合等操作直到后面有一次我去面试才知道原来还有另一种说法(其实这就是实时渲染第三版所定义的):1.应用阶段:CPU整理好数据给GPU发送drawcall指令
2022-01-26 22:43:43 3465
原创 Unity资源热更-Addressables总结(一)
Addressables是Unity官方推出的用于资源热更的系统,可在Package Manager里面下载,我这里分两部分讲解,第一部分是操作入门,第二部分是代码编程以及注意事项一、入门选择合适的Addressables版本下载安装完成后,选择Groups点击Create Addressables Settings它会默认给你创建一个本地的Group,选中这个Group,可以在Inspector面板看到如下图示:这五个红框是我会经常设置的地方(从上到下):1.点击之..
2022-01-25 17:44:50 15073 8
原创 对Unity UI系统的一些总结
目前用的最多的UI系统可能就是UGUI和NGUI,众所周知这两套UI系统的主持开发是同一人,所以这两套UI的设计有很多的相似点,它们分别采用C++和C#开发,理论上是UGUI的性能会更好一些如果有同学看过它们的源代码就会发现,它们的设计思想其实都是将Canvas或者UIRoot下的UI元素合并成一个mesh再着色渲染,然后每一帧去检测是否有UI发生了改变,如果有改变就需要重构这个mesh,所以基于这样的思想,我们就需要思考如何设计UI系统,对于一个界面而言,我们通常需要考虑动静分离,所谓的动静分离就是需
2022-01-25 14:50:33 3319
原创 Windows Chrome查看安卓、iOS端网页的Console Log
1.安卓的chrome:windows需要翻墙,手机或者安卓模拟器打开开发者模式 手机连上电脑或者直接打开安卓模拟器 打开手机的 chrome 打开 windows的chrome 浏览器 输入chrome://inspect/#devices 打开需要调试的网页(比如打开百度) 看到你自己的设备名称和网页,点击inspect就是调试了2.iOS的Safari:windows需要翻墙,需要下载较新的powershell版本(我自己下载的7.2)以及ITunes(Windows自带的应用商.
2021-12-16 14:36:18 4408
原创 Unity打包webgl搭建本地服务器卡loading的解决方案
首先确保你的工程是正常的,比如build and run可以正常打开当然不嫌麻烦可以每次这样,相信有很多人会选择搭建本地服务器,使用IIS,我本人安装好之后,使用localhost:端口号打开本地webgl工程,发现进度条会在大概90%的时候卡住,我的浏览器是chrome,这个时候按下F12,查看Console发现无法Getxxx.data文件(这个是游戏资源,我的Compression Format选择的是Disabled),只需要在IIS里面添加这个数据即可正常运行webgl工程...
2021-10-29 16:01:15 4354
原创 UNET创建不同的玩家示例
using UnityEngine;using System.Collections;using UnityEngine.UI;using UnityEngine.Networking;public class MyNetworkManager : NetworkManager {private string ipAddress;public int cho
2016-09-09 17:08:37 3176 2
转载 Unity5网络模块UNet介绍
前段时间,研究了一下UNet,经过项目实践,大致整理了下遇到的问题。源码Bitbucket:需要说明的是,这个项目只包含上层的包装,一些低层的网络实现在Unity内部,如NetworkTransport类等并不包含。UNet概念简介Spawn:简单来说,把服务器上的GameObject,根据上面的NetworkIdentity组件找到对应监视连接,在监视连接里生成相
2016-09-09 10:18:58 1698
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人