logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

UnityShader(四)基础光照

光线从光源中发射出来后,与物体表面相交,结果通常有两个:「散射」和「吸收」。。光线在物体表面散射后,一种会散射到物体外部,也就是「反射」;另一种会散射到物体内部,也就是「折射」。对于不透明的物体,折射入内部的光线还会继续与物体内部颗粒相交,一部分最后又会重新发射出表面。另一部分则被物体吸收。我们在光照模型中使用「高光反射」表示物体表面如何反射光线;使用「漫反射」表示有多少光线被折射、吸收、散射出表

#unity#游戏引擎
Unity中的3D数学—01坐标系

笛卡尔坐标系分为左手坐标系和右手坐标系,可以通过拇指指向x轴方向,食指指向y轴方向,中指指向z轴方向进行区分。Unity使用的是左手坐标系。DirectX也使用左手坐标系,而OpenGL使用右手坐标系。全局坐标系也叫世界坐标系,是用于描述游戏场景内所有物体的位置和方向的基准。当游戏场景中的一个物体没有父物体时,Inspector面板上的transform组件显示的就是这个物体在世界坐标系中的位置。

#unity#3d#游戏引擎
AssetBundle详解

AssetBundle可以理解为一种,它可以将特定平台的(模型、纹理、预制体、音频等)包含在内,并在运行时由Unity加载。通过AssetBundle技术,可以在游戏中实现资源的热更新。通过热更新,一方面可以避免每次更新资源都需要用户重新下载整个游戏,另一方面也可以减小游戏安装包的大小,将资源文件延迟到更新时下载。另外,开发者还可以根据实际情况,选择内置的压缩算法来压缩AssetBundle,从而

#unity#游戏引擎
最短路径(Dijkstra算法与Floyd算法)

Dijkstra算法与之前学习过的Prim算法有些相似之处。我们直接通过一个例子来讲解假设要求的是A->E之间的最短路径。首先我们来列出顶点A到其他各顶点的路径长度:。既然是要寻找最短路径,我们当然是先在已有的路径里面挑一条最短的,也就是。将到达过的顶点用红色进行标识到达C点后,我们又可以找到两条路径:。此时我们拿这几条新的路径长度,与之前的相加,就可以得到。出现了一条比之前短的路径:。所以我们将

#算法#图论#数据结构
xLua热更新(一)xLua基本使用

xLua为Unity、 .Net、 Mono等C#环境增加Lua脚本编程的能力,借助xLua,这些Lua代码可以方便的和C#相互调用。xLua是用来实现Lua代码与C#代码相互调用的插件。们可以借助这个插件来实现热更新方案。那么为什么要选择Lua实现热更新呢?这是因为Lua具有轻量、灵活的特点,可以在几乎任何平台上编译、运行。Unity一般使用C#代码编写游戏逻辑。在打包时,C#会先编译成IL(中

#lua#unity
到底了