
Unity3D
文章平均质量分 56
Mr卜颛
这个作者很懒,什么都没留下…
展开
-
Unity代码修改查看优化结果显示在unity profile中
对特定代码gc消耗在unity profile显示出来原创 2022-10-15 23:17:30 · 1566 阅读 · 0 评论 -
Fixing Performance Problems - 2019.3 (性能优化——Unity 2019.3)复制
一旦你发现了游戏中的性能问题,你应该如何去解决它呢?脚本、垃圾收集和图形呈现的一些常见问题和优化技术。1.Optimizing scripts in Unity games 在unity中优化脚本Introduction 当我们的游戏运行时,设备的中央处理器(CPU)执行指令。我们游戏的每一帧都需要执行数百万条CPU指令。 为了保持平滑的帧速率,CPU必须在规定的时间内执行指令。当CPU不能及时执行所有指令时,我们的游戏可能会变慢、卡顿或暂停。 许多事情会导致CPU有太多的工作要做。例子可能包括高.转载 2022-03-04 18:01:20 · 269 阅读 · 0 评论 -
Unity3D 常用快捷键
当命令中含有ctrl/cmd并作为按键的一部分,这就表示在 windows 系统中需要搭配使用 control 键,macosx 系统中搭配使用 command 键。工具按键 命令q 平移 (pan)w 移动 (move)e 旋转 (rotate)r 缩放 (scale)z 轴点模式切换 (pivot mode toggle)x 轴点旋转切换 (pivot rotation toggle)v 顶点捕捉 (vertex snap)ctrl/cmd+lmb 捕捉 (sna原创 2021-02-26 14:34:10 · 1577 阅读 · 0 评论 -
梳理 Unity Shader 的基本结构(学)
0x00 写在前面之前一直在阅读 The Book of Shaders 一书,为什么会开始写 Unity Shader 呢?一方面,因为该书目前尚未完结,写下此文时已阅读到该书的最新章节;另一方面,也需要通过一些实践来检验以及巩固所学的知识。Unity 引擎提供的环境正好是一个不错的媒介。本文没有完整可运行的 Shader 代码,只是简单梳理一下 Unity Shader 的基本结构,为之后学习做铺垫。0x01 基本框架一段 Unity Shader 的基本结构如下...转载 2020-12-03 10:40:00 · 561 阅读 · 0 评论 -
游戏性能优化杂谈
游戏性能优化杂谈(一)最近一年一直在为PS5发售进行软件方面的准备,所以文章写得很少了,大部分时候都只是在知乎上灌水调剂一下心情。其实日常工作当中,除了诸多杂事之外,比较整块的主要是两部分: 向国内签约厂商宣讲最新的主机开发技术,并提供相关技术支持 辅助厂商对项目进行平台特定的性能优化,提高游戏在目标平台上的质量,形成平台优势 其中第二部分的工作,最近一段时间做得比较深入的项目有网易的《荒野行动》,以及米哈游的《原神》。当然,大部分工作的内容都是受到保密协议的约束,无法.转载 2020-11-30 01:55:48 · 1141 阅读 · 0 评论 -
物体转换为画布上的位置
usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEngine.UI;publicclassTestFindObj:MonoBehaviour{publicImageimage;publicGameObjectmobj;publicCanvascanvas;privateTestCoroutine...原创 2020-05-08 18:12:02 · 201 阅读 · 0 评论 -
GooglePlay平台 拆分安装包。Apk + obb,ndk,il2cpp
GooglePlay平台 拆分安装包。Apk + obb。前期 只是储备 ,NdkNDK:(Native Development Kit),原生开发工具包是一组可以让您在Android应用中利用C和c++代码的工具,可用以从您自己的源代码构建,或者利用现有的预构建库.参考:https://www.jianshu.com/p/2eb3b2f754a2IL2CPP和Mono相比,代...原创 2019-12-14 20:34:49 · 2400 阅读 · 0 评论 -
lua string gmatch
前言#今天来看一个高端的匹配函数,高端在哪里呢?它比较像正则表达式,但是为了保持Lua小巧的特点有没有用正则表达式那一套,单从功能上来说这个函数的模式匹配没有正则表达式那么强大,但是就它的实现代码来说他已经相当强大了,基本满足日常的编程需求,接下来我们一起来看一下它的使用方法。内容#string.gmatch()##原型:string.gmatch (s, pattern) 解释...转载 2019-09-21 14:00:30 · 1416 阅读 · 0 评论 -
Include in Build
测试记录:unity2017.3.0f3 (注意:图集要删了重新弄打包,不然改变include in build再次打AB包,AB包跟着上次的来不变)SpriteAtlas打AB包,并在场景中加载带sprite引用的UI预制体:A组:(UnityEditor,不注册事件)1.勾选Include in Build , 正常显示2.不勾选Include in Build...原创 2019-06-14 21:28:28 · 1475 阅读 · 0 评论 -
Unity2017的新spriteAtlas
Unity2017带来了新的SpriteAtlas工具,该工具可以方便的将碎图打包成纹理集,相比于之前SpritePacker工具,SpriteAtlas将统一的管理纹理集,不必再到每个碎图上查看被打包到了哪个纹理集,并且解除了sprite使用者和纹理集的强依赖关系。创建纹理集设置 Editor Settings 中 Sprite Packer 的 Mode 为Always E...转载 2019-05-18 14:36:38 · 1487 阅读 · 0 评论 -
Unity3D 点击屏幕排除是否在UI上
private float recordTime = 0f; public void Update(float delta) { // ------------------------------------- recordTime += Time.deltaTime; if (Input.GetMouseButton(0)) ...原创 2018-02-27 15:18:45 · 929 阅读 · 0 评论 -
unity www 加载url 读微信头像
// 对自己的头像做缓存 private Sprite selfIcon; /// <summary> /// 设置玩家的头像 微信或本地 /// </summary> /// <param name="imgIcon">sprite</param> /// <param name="url">原创 2018-02-28 17:14:17 · 1941 阅读 · 0 评论 -
进行初始化工作, 并且保证在游戏运行中只能进一次
方式一:using UnityEngine;using System.Collections;using System.Runtime.Hosting;public class SingleInstance{ [RuntimeInitializeOnLoadMethod] //进行初始化工作, 并且保证在游戏运行中只能进一次 public static void I...原创 2018-05-17 11:13:01 · 229 阅读 · 0 评论 -
Unity UGUI Button事件重复注册
class TestBtnHelper{ public int num = 0;}public class TestButton : MonoBehaviour{ private Button btn;void Start (){btn = this.GetComponent<Button>();} private int i = 0;voi...原创 2018-06-21 11:16:23 · 1723 阅读 · 0 评论 -
判断位置比如鼠标位置是否在ui上,或者是否在某一ui上
1,判断位置是否在ui上 void Update() { if (Input.anyKeyDown) { bool isOnBtn = false; isOnBtn = IsOverGUI(Input.mousePosition); if (!isOnBtn) ...原创 2018-06-13 15:55:00 · 2294 阅读 · 0 评论 -
Unity 协同
测试一: public class TestCoroutine1 : MonoBehaviour { private bool isTimeCountDownAlive = false; private IEnumerator CroTimeCountDown; void Start () { CroTimeCountDown = TimeCountDown(); } ...原创 2018-06-15 11:40:43 · 305 阅读 · 0 评论 -
Unity Color颜色转换 colorhex 转换color
/// <summary> /// color 转换hex /// </summary> /// <param name="color"></param> /// <returns></returns> public static string ColorToHex(Color co...原创 2018-06-27 14:07:29 · 5532 阅读 · 0 评论 -
unity UGUI 拖拽ui跟随手指或鼠标移动
using UnityEngine;using UnityEngine.EventSystems;public class MahJongItemButton : MonoBehaviour, IDragHandler, private RectTransform curRecTran; public void OnDrag(PointerEventData eventData) { ...原创 2018-07-11 20:50:21 · 6849 阅读 · 1 评论 -
Unity VisualStudio不能断点调试原因
启动Vs发现不能断点调试原因,如果安装了多个版本的unity时,我们通常为了便于区分不同的版本会修改unity.exe 名字为其对应的版本,这就导致了vs找不到unity.exe文件而无法调试。所以不能更改unity安装目录的editor文件夹下的unity.exe名字,如果是想区分不同版本可以更改在桌面的快捷方式,或者更改“固定到开始屏幕"的快捷方式的名字。 ...原创 2018-08-19 17:21:02 · 6387 阅读 · 0 评论 -
UGUI 简单滑动条
原创 2019-04-09 14:22:41 · 230 阅读 · 0 评论 -
Unity3D .asset资源文件
在游戏开发中,经常会用到一些配置文件保存一些数据,然后项目运行中读取这些配置文件中的数据在游戏中使用。如:配置血条:根据角色类型(人物、动物、怪物等)配置不同的血条,包括血条大小,血条名或血条预设,血条颜色等一些简单数据。如:配置子弹:子弹类型(真子弹、假子弹、追踪子弹等),子弹速度,伤害数值,子弹关联的特效等。诸如此类的配置很多种,可创建一个可序列化的类存储数据,或者创建 XML 、JSON 文...转载 2018-02-26 14:07:20 · 15452 阅读 · 0 评论