John Young's Blog

Salvation lies within.

Introduction to Neo

一个兴趣使然的C/S双端游戏框架

前言 哈喽,好久没有更新博客了! 这次是介绍一下我的兴趣项目:一个Unity客户端 + .net服务器的游戏框架: Neo Neo暂未开源(主要是考虑到很多第三方的版权问题) 但是我会在这篇文章中介绍详细的技术路线以及demo展示,有问题也可以留言联系我!让我们开始吧~ 1. 总体架构 Neo是我这两三年来的一个兴趣项目,我的初衷是在这个项目里集成各种好用的第三方技术和第三方插件...

客户端性能优化

一些优化点的不完全总结

1. Profiling 最最总要的一部分。判断清除主次再进行优化 1.1 性能报告 根据第三方性能的自动化测试报告确定性能瓶颈 1.2 引擎自带工具: Unity Profiler 关键函数都有打桩(stub), 在时间上连续,可以排查性能峰值相关问题 Unreal Profiler Magic Sniffer 1.3 IDE:(CPU、 网络,一般是快照)...

Unity跨平台

Unity是如何跨平台的

Unity是如何跨平台的 一. Unity的跨平台方案 1. 前言:一些问题 1)Unity是如何支持C#、UnityScript、Boo等多种脚本语言的? 2)CLI、CLR、IL分别是什么? 3)Mono运行时和.NET运行时有何联系与区别? 4)什么是AOT,什么是JIT? 5)Mono存在哪些问题?Unity用来替代Mono的解决方案il2cpp是干什么的...

实现一个软渲染器(CPU Renderer)

用CPU实现一个简易的渲染流水线的一些技术点。

一些题外话 最近从腾讯离职了,算是裸辞吧。 一是休息下;二是给自己一个充充电的机会,感觉技术栈还是有很多薄弱的地方;三是考虑下未来要做些什么。 辞职原因无非就是做的事情不喜欢了。 有的人问我为啥要裸辞,不喜欢了,继续混一混不也很好吗? 对这个问题,我觉得个人追求不一样吧,工作对我不仅仅只是混口饭吃,个人发展受限制了就必须得离开了。 前言 其实两、三年前实现过一个C#版本的软渲染器,但是后来...

Unity中的后处理(post-processing)

简单介绍一下Unity中的后处理(post-processing)

前言 后处理是一种常见的技术。本文主要介绍一下在Unity中后处理一般是如何使用的,以及常见的后处理效果。 1. Unity中的后处理 在Unity中,我们通过Monobehavior.OnRenderImage、Graphics.Blit这两个内置接口,再加上想应用的后处理效果的shader,就能实现后处理效果。 Monobehavior.OnRenderImage “Th...

PBR简介以及Unity中的PBR

简单介绍一下PBR,以及PBR在Unity中的实现

前言 PBR管线已经是现代引擎的标配了,本文简单讨论一下PBR相关概念,以及Unity中的PBR 1. 什么是PBR PBR即基于物理的渲染,Wikipedia上对于PBR的定义是这样的: “Physically based rendering (PBR) is an approach in computer graphics that seeks to render graph...

ECS架构简介

初探Unity2019的DOTS技术

前言 ECS架构很早就被提出,近两年因为《守望先锋》、Unity等工业强度的应用,被越来越多地讨论。本文主要是对ECS架构作一些入门向的介绍。 1. ECS架构是什么 ECS stands for Entity Component System,一般翻译为“实体组件系统”。注意这里的E、C不是作定语来修饰S,三者是并列关系,而不是”由实体和组件组成的系统”。所以即使称之为CES、SCE...

从Unity源码理解Monobehaviour的生命周期

Update一定比LateUpdate先执行吗?

前言 Unity的Monobehaviour每个Unity程序员都不可能陌生,update, fixedUpdate, lateUpdate等等built-in函数也是信手拈来。Unity间程序员流传的一张MonoBehaviour的图更是被奉为圭臬。 然而这篇文章的结论可能会超过你的想象:一些看似self-explanatory的接口,可能并不按你想象的顺序执行。 而这一切,都是从Un...

Real-Time Raytracing

实时光线追踪技术的一些介绍

前言 最近几年光线追踪在计算机图形学领域被越来越多的讨论。随着Nvidia的RTX系列显卡的问世,还有微软发布新的图形接口DirectX Raytracing,以及Unity、EA、Epic Games在游戏引擎层面的积极支持,光线追踪似乎从学术研究为主慢慢走向了工业应用。如果说光线追踪是未来,那么未来可能已经到来了。图形程序员了解光线追踪的必要性也在日益增加。 1、为什么光线追踪这么吸...

计算机科学中的估算(reckon)

一些对于程序员可能是通识的知识点

前言 最近看了《编程珠玑》,其中第七章介绍了三个很实用的估算技巧,虽然是通用知识,但是程序员还是很可能会用到(估算运行速率之类),所以总结了一下。 1. π秒就是一个纳世纪 一年有多少秒? 这不是一个很难的问题,只需要小学知识: 365x24x60x60 = 3.1536 x 10^7 但是如果你知道”π秒就是一个纳世纪”这句话,你就不需要计算了,可以脱口而出: ...