Unity 渲染流水线 :CPU与GPU合作创造的艺术wfd

前言 对于Unity渲染流程的理解可以帮助我们更好对Unity场景进行性能消耗的分析,进而更好的提升场景渲染的效率,最后提升游戏整体的性能表现 Unity的游戏画面的最终的呈现是由CPU与GPU相互配合产生的效果,总体上,两者直接的工作流程是一个流水线的模式,大概分为三个阶段: 应用程序阶段 几何阶 ... »

热更新应用--热补丁Hotfix学习笔记

一.热补丁简介 热补丁主要是用于将纯C#工程在不重做的情况下通过打补丁的形式改造成具备lua热更新功能工程,主要是让原来脚本中Start函数和Update函数等函数代码块重定向到lua代码。 二.第一个热补丁 1.C#代码端: 1)创建一个脚本,并挂载到游戏中的任意物体上(实际使用过程中一般修改已有 ... »

热更新解决方案--xlua学习笔记

一.热更新方案简介 在Unity游戏工程中,C#代码(编译型语言)资源和Resources文件夹下的资源打包后都不可以更改,因此这部分内容不能进行热更新,而lua代码(解释型语言)逻辑不需要进行预编译再运行,可以在游戏运行过程中进行修改,AB包资源也可以在游戏运行过程中下载解压缩并使用其中的资源。因 ... »

热更新语言--lua学习笔记

一.lua安装和编程环境搭建 lua语言可以在官网:http://luadist.org/下载安装包安装,编程IDE之前学习使用的是SciTE(https://www.cnblogs.com/movin2333/p/14348703.html),这个IDE安装时会一并安装lua,当然,vscode、 ... »

热更新基础--AssetBundle学习笔记

一.简介 AssetBundle简称AB包,特定平台的资产压缩包(包括模型、贴图、预设体、音效、材质球等资产)。 作用:Resources下的资源只读且打包后不可修改,而AB包存储位置自定,后期可以动态更新;AB包压缩后节省空间;可以进行资源热更新和脚本热更新。 二.官方打包工具AssetBundl ... »

XML数据持久化学习笔记

一.XML基础语法 1.XML结构:XML是一种树结构的文本 2.XML注释:格式:<!--在其中书写注释-->,在注释中可以单行注释也可以多行注释 3.固定内容:<?xml version="1.0" encoding="UTF-8"?>版本和编码信息 4.基本语法:<root>...</root ... »

PureMVC学习笔记

一.简介 PureMVC是基于MVC思想和一些基础设计模式建立的一个轻量级的应用框架,免费开源,最初是执行的ActionScript 3语言使用,现在已经移植到几乎所有主流平台。PureMVC官方网站:http://puremvc.org,框架及其响应的说明文档直接在官网中下载即可。 二.基本结构 ... »

Unity 定点投射固定高度抛物线

假设同一平面中有AB两点,A点向B点水平射击,很容易想象子弹会沿由A指向B的向量方向前进,经过时间t后到达B点,若此时A点不再水平射击,改为以抛物线的方式向B点投射,同样需要在时间t后击中B点,那么如何确定被修正后的初速度呢。(这时就不得不提那万恶的游戏平衡性了Orz) 想想也不难,只要保证初速度在 ... »

unity编辑器扩展

扩展编辑器实际上就是在unity菜单栏中添加一些按钮,可以一键执行一些重复性的工作。 一.添加按钮 1.简单使用MenuItem特性 using UnityEngine; using UnityEditor; public class Tools { [MenuItem("Tools/test")] ... »

【Unity】Unity中AR Foundation的使用

前段时间通过Unity 3d打包测试对比ARCore与ARKit环境探针的效果的过程中,在Google AR Core官网下载到了ARCore for Unity SDK,但是在苹果官网却没有找到ARKit for Unity SDK。于是我想在Unity AssetStore也许能找到,结果也是没... ... »

Unity Pro 2019.4.10f1 安装说明

以下操作最好是在断网环境安装,而且之前低版本的UNITY软件需要卸载,否则激活不会成功。 1、下载安装包,解压。得到如下文件: 2、先不要打开软件,将crack内得补丁文件Unity.exe复制替换到安装目录 默认:"C:Program FilesUnityEditor"**** 找到unit ... »

《天谕》手游的内存控制 -笔记

花了100块买了UWA上的这个课程,做个一个笔记 Profiler工具 推荐使用XCode分析内存,更准确 一、内存指标的类型: VSS:Virtual Set Size,虚拟耗用内存。它是一个进程能访问的所有内存空间地址的大小。这个大小包含了 一些没有驻留在RAM中的内存,就像mallocs已经被 ... »

手游防破解防外挂技术方案(一)客户端篇

对于任何一款要长期线上运营的游戏,防破解防外挂是必不可少的。本文总结了手游常用的防破解防外挂技术方案,这些方案都经过了笔者所在团队和线上项目的长期考验。很多方案来自于弱联网手游项目,但大部分思路也同样适用于强联网游戏。以Unity为例,但思路也适用于非Unity项目。笔者尽可能做到总结全面,希望能帮 ... »

Unity ugui Anchor锚点自动适配画布中的相对位置

本随笔参考了以下博客,在此基础上进行优化和改进: https://blog.csdn.net/qq_39640124/article/details/88284191 ugui中的Anchor预设如下: 允许我们快速对齐父物体的一部分轴向顶点或边,但有时我们并不是要对齐这些,而是需要对齐特定位置的某 ... »

Shader专题:卡通着色(一)控制颜色的艺术

什么是 Shader? 关于什么是 Shader ,各种百科各种教程都有说过,但是今天我们就从一个另一个角度去试着理解什么是 Shader? 我们先看下 Shade 的英文意思,如下: v.给...遮挡(光线);把...涂暗 其中 把...涂暗 更贴近我们想要的意思。 所以:Shader 这个单词从 ... »

小班同学学习经历分享(一)游戏程序员成长札记

作者信息 昵称:目及远方 课程设计 HumanFramework: https://github.com/cyclons/HumanFramewo 正文 大四毕业,心血来潮,闲余之际,撰文留念。 萌芽 游戏程序员,把这个分成两块的话就是,游戏,程序。 这两个中,只有一个,游戏,在我很小的时候就开始接 ... »

UniRx精讲(一):UniRx简介&定时功能实现

1.UniRx 简介 UniRx 是一个 Unity3D 的编程框架。它专注于解决时间上异步的逻辑,使得异步逻辑的实现更加简洁和优雅。 简洁优雅如何体现? 比如,实现一个“只处理第一次鼠标点击事件”这个功能,使用 UniRx 实现如下: Observable.EveryUpdate() .Where ... »

UniRx精讲(一):UniRx简介&定时功能实现

1.UniRx 简介 UniRx 是一个 Unity3D 的编程框架。它专注于解决时间上异步的逻辑,使得异步逻辑的实现更加简洁和优雅。 简洁优雅如何体现? 比如,实现一个“只处理第一次鼠标点击事件”这个功能,使用 UniRx 实现如下: Observable.EveryUpdate() .Where ... »