(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
Latency Comparison Numbers (~2012) | |
---------------------------------- | |
L1 cache reference 0.5 ns | |
Branch mispredict 5 ns | |
L2 cache reference 7 ns 14x L1 cache | |
Mutex lock/unlock 25 ns | |
Main memory reference 100 ns 20x L2 cache, 200x L1 cache | |
Compress 1K bytes with Zippy 3,000 ns 3 us | |
Send 1K bytes over 1 Gbps network 10,000 ns 10 us | |
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD |
This is free and unencumbered software released into the public domain. | |
Anyone is free to copy, modify, publish, use, compile, sell, or | |
distribute this software, either in source code form or as a compiled | |
binary, for any purpose, commercial or non-commercial, and by any | |
means. | |
In jurisdictions that recognize copyright laws, the author or authors | |
of this software dedicate any and all copyright interest in the | |
software to the public domain. We make this dedication for the benefit |
using System; | |
using System.Collections; | |
using System.Collections.Generic; | |
using System.IO; | |
using UnityEngine; | |
using Object = UnityEngine.Object; | |
using UnityEditor; | |
namespace Swing.Editor | |
{ |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
Please consider using http://lygia.xyz instead of copy/pasting this functions. It expand suport for voronoi, voronoise, fbm, noise, worley, noise, derivatives and much more, through simple file dependencies. Take a look to https://github.com/patriciogonzalezvivo/lygia/tree/main/generative
float rand(float n){return fract(sin(n) * 43758.5453123);}
float noise(float p){
float fl = floor(p);
float fc = fract(p);
using System; | |
using System.Collections.Generic; | |
using System.Linq; | |
using System.Text; | |
using UnityEngine; | |
/// <summary> | |
/// A simple free camera to be added to a Unity game object. | |
/// | |
/// Keys: |
// Based on http://www.tallior.com/find-missing-references-unity/ | |
// It fixes deprecations and checks for missing references every time a new scene is loaded | |
// Moreover, it inspects missing references in animators and animation frames | |
using UnityEngine; | |
using UnityEditor; | |
using UnityEditor.SceneManagement; | |
using System.Linq; | |
[InitializeOnLoad] |
本次测试包含对AssetDatabase.GetDependencies
和EditorUtility.CollectDependencies
这两个获取资源的依赖资源的 API 的测试,以及对于meta
残留对打AssetBundle
的影响。
输入资源路径,例如Assets/Material/demo.mat
,以路径形式返回该资源依赖的资源列表,例如Assets/Texture/demo.jpg
。
这个 API 返回的结果是“错误”的,也就是带残留的。比如某个材质,原本的shader
引用了4个纹理,然后切换其shader
为新的shader
使之只引用一个纹理,这时AssetDatabase.GetDependencies
返回的结果还是4个纹理。
This list is provided as a guide for tools engineers of all skill levels looking for jobs in the game industry. It's meant as a guide to topics that should be pursued broadly in order to be well spoken in an interview. I doubt any hiring manager requires deep knowedge across every topic, but an ideal candidate would be somewhat knowledgable (aware of its existence if asked directly) with all topics here.
Each list of bullets increases in difficulty, so later bullets are more applicable to senior (or even director) level candidates.
Good luck.
@gorlak