
Unity3d
文章平均质量分 91
白筱风
哦呼
展开
-
图形学进阶——纹理压缩
纹理压缩百人计划学习链接:【技术美术百人计划】图形 3.6 纹理压缩——包体瘦身术什么是纹理压缩?纹理压缩是为了解决内存、带宽问题,专为在计算机图形渲染系统中存储纹理而使用的图像压缩技术1. 关于内存和带宽的区别?内存:存放临时性数据的场所。带宽:临时性数据的存,取速度的体现。两者者可以说是一个是存放的容量 另一个是显存与外界交换的速度。(自我理解)2. 图片格式与纹理格式的区别?从定义上区别:图片格式存储在内存中纹理格式存储在显存中从原理上区别:为什么要纹理压缩?常原创 2021-08-14 21:19:23 · 1797 阅读 · 0 评论 -
图形学进阶——移动端TB(D)R架构基础
移动端TB(D)R架构基础百人计划学习链接:【技术美术百人计划】图形 3.7 移动端TB(D)R架构基础一、当前移动端的设备概况1. 移动端CPU占比2. 移动端GPU占比3. 各类电子设备功耗对比4. 带宽比较二、专有名词解释1. SOC(System on Chip)System on Chip(Soc)Soc是把CPU、GPU、内存、通信基带、GPS模块等等整合在一起的芯片称呼。常见有A系Soc(苹果),骁龙Soc(高通),麒麟Soc(华为),联发科Soc,猎户座Soc(三原创 2021-07-26 11:10:57 · 2367 阅读 · 2 评论 -
图形学进阶——Early-Z和Z-prepass
关于Early-Z和Z-prepass百人计划学习链接:【技术美术百人计划】图形 3.5 Early-z和Z-prepass一、回顾深度测试渲染管线中深度测试深度测试带来的问题二、提前深度测试——Early-Z关于Early-Z的原理和应用Early-Z如何使用以及使用要点Early-Z的问题以及如何优化三、使用Z-PrepassZ-Prepass的原理如何使用Z-Prepass以及要点Z-Prepass的问题,如何解决其他关于Z-Prepass...原创 2021-07-20 23:56:22 · 9535 阅读 · 1 评论 -
图形学进阶——深度与模板测试
Z Test & Stencil Test深度测试与模板测试百人计划学习地址:图形 3.1 深度与模板测试 传送门效果示例一、模板测试 Stencil Test流程:1. 什么是模板测试① 从渲染管线出发像素权限测试——》裁剪测试——》透明度测试——》模板测试——》深度测试——》混合等操作——》输出片元到帧缓冲区② 从逻辑上理解就是通过一定条件判断该片元或者片元属性执行抛弃操作还是保留操作③ 从书面概念上理解2 .模板测试的语法表示具体含义需补充referenceV原创 2021-06-26 20:36:43 · 1734 阅读 · 5 评论 -
图形学基础——Flowmap的实现
Flow map百人计划学习地址:图形 2.8 Flowmap的实现一、基础概念首先复习一下UV映射UV坐标用于查找纹理的颜色值什么是FlowMap?Flowmap的实质就是一张记录了2D向量信息的纹理Flow map上的颜色(通常为RG通道)记录该处向量场的方向,让模型上某一点表现出定量流动的特征。通过在shader中偏移uv再对纹理进行采样,来模拟流动效果。Flow Map实现流程通过所带有的向量场的信息对UV进行偏移,并干扰采样的过程,下图时原本的采样效果变得扭曲为什么要使用原创 2021-06-24 19:23:53 · 10027 阅读 · 2 评论 -
图形学基础——BUMP图改进
Bump Mapping 凹凸映射百人计划学习地址:图形 2.5 BUMP图改进一、基础概念凹凸映射技术是对物体表面贴图进行变化然后再进行光照计算的一种技术。例如给法线分量添加噪音,或者在一个保存扰动值的纹理图中进行查找。这是一种提升物体真实感的有效方法,但却不需要额外的提升物体的几何复杂度。这种方式在提升物体的表面细节或者表面的不规则性方面有显著效果。二、凹凸映射的分类Bump Mapping的种类主要有:法线映射、视差映射、浮雕映射。下图分别是:没有使用,使用了发现,使用了视差贴图原创 2021-06-08 21:30:58 · 1204 阅读 · 0 评论 -
图形学基础——HDR与LDR
一、基本概念什么是动态范围 (Dynamic Range)?简称DR,就是指最高的和最低的亮度之间的比值因此有以下两种对应关系LDR = Low Dynamic Range 低动态范围HDR = High Dynamic Range 高动态范围LDR定义如下:8位精度,2的八次方单通道0-1常用LDR图片储存格式:jpg/png等应用:拾色器、一般的图片、电脑屏幕HDR定义如下:远高于8位的精度单通道可超过1常用的HDR图片储存格式:hdr/tif/exr/raw原创 2021-06-02 17:19:13 · 7520 阅读 · 1 评论 -
图形学基础——伽马校正
Gamma矫正颜色空间 (具体内容在之前的文章有讲)sRGB原创 2021-05-25 20:29:45 · 2208 阅读 · 0 评论 -
传统的经验光照模型详解
光照模型也成为明暗模型,用于计算物体表面某处的光强(颜色值)光照模型分为两类:基于物理理论的光照模型:偏重于使用物理的度量和统计方法,遵守能量守恒。例如:PBR经验模型:通过前人的总结的经验对光照的一种模拟,例如:Lambert,Phong,Billing Phong为什么需要光照模型?现实中的光照是极其复杂的,而且会受到诸多因素的影响,有限的计算能力无法完全模拟光照模型发展图局部光照模型定义:局部光照模型只关心直接光照部分,即直接从光源发出并照射到物体表面并反射至摄像头的光线例如原创 2021-04-28 22:25:36 · 1498 阅读 · 0 评论 -
HLSL常用函数介绍
什么是HLSL?高阶着色器语言(High Level Shader Language,简称HLSL),就是用来编写shader的一种语言类似的语言还有:CG它是由NVIDIA公司所开发的,基于C语言同时被OpenGL和Direct3D所支持的开发语言,其语法和HLSL类似。在《GPU编程与CG语言之阳春白雪》中虽然曾认为CG会越来越受欢迎,但遗憾的是,NVIDIA还是抛弃了CG,目前CG的最终版本是3.1。虽然在一些简单的shader编写上还是可以使用,但是在新的硬件环境下还是可能不支持,且对一原创 2021-04-23 15:45:13 · 3157 阅读 · 0 评论 -
Unity3d 渲染管线整体流程
最新正在学习shader中,正巧翻阅到了霜狼大大的视频,因此写一份学习笔记当做作业,文章末尾放了视频的链接,文章中有错误希望大家能够指出 谢谢!总流程应用阶段几何阶段光栅化阶段逐片源阶段后处理总流程应用阶段 ——> 几何阶段 ——> 光栅化阶段 ——> 逐片源阶段 ——> 后处理应用阶段设置场景基本数据:收集模型的大小,位置和旋转信息、光源类型和光照信息、摄像机参数粗粒度剔除和算法加速:剔除不需要发给几何阶段的物体信息 例:视椎体剔除和遮挡剔除设置渲染状态,准备渲染原创 2021-01-23 16:40:15 · 1493 阅读 · 0 评论 -
Unity3d InputField在手机上的焦点问题
这里写自定义目录标题Unity3d 2017的InputField在手机上会有奇怪的表现查找原因重载源码功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入Unity3d 2017的InputField在手机上会有奇怪的表现当点击输原创 2020-10-11 22:36:00 · 2227 阅读 · 2 评论 -
Unity3d自动导入需要的内建Shader工具
之前这篇https://blog.youkuaiyun.com/whitebreeze/article/details/83309917讲到过,当使用了Unity3d内建的shader时,需要将其添加进GraphicsSetting中的Always Included Shaders下,但是这个文件在开发过程中一般不会上传至SVN,导致可能开发人员的不一致 所以,写了一个自动导入的工具以方便使用...原创 2020-03-17 15:43:22 · 1742 阅读 · 0 评论 -
Unity3d自动设置场景到BuildSettings的方法
再Unity3d开发过程中,如果添加了新的场景,不添加进BuildingSetting是无法进入的,而每次手动导入进去会很麻烦。其次,在正式发布版本中,会使用Assetbundle来加载此Scene,又要将除开第一个场景外的场景移除。所以写了一个脚本来自动化实现。 public static string _SceneDir = Application.dataPath + "/S...原创 2020-03-16 18:00:40 · 3121 阅读 · 0 评论 -
Unity Shader中可用的变量类型整理
//Float类型,下面对应变量可以用flaot,half,fixed_Name("Inspector Name", Float) = defaultValue//Float类型,可以用一个滑动条控制范围,下面对应变量可以用float,half,fixed_Name("Inspector Name", Range(min, max)) = defaultValue//颜色类型,下面对应变量...转载 2020-03-15 17:38:30 · 939 阅读 · 1 评论 -
Unity3d读取FBX自动生成AnimatorController的方法
由于自身的懒惰,一年多没写博客了。。十分愧疚,回想来还是写博客才能将知识更好的牢记并发现问题前几天工作需要做一个自动生成动画组件的工具类,美术一般只会将做好的动画模型发给你,如果每个模型都手动自己新建Animator再绑定的话 是十分浪费时间的,所以必须得实现脚本自动化。根据近几天参考的几篇博客,自己写了一个工具类,下面进入正题将每个模型的动作模型(一般是FBX文件)放进一个文件夹...原创 2020-03-15 11:47:44 · 2279 阅读 · 0 评论 -
Unity3d中XLua简单运用
前段时间学习了XLua的教程,发现非常的好用,下面用一个简单的例子来使用一下Xlua,将一个加法运算的程序 热更新成减法运算首先,我们写一个简单的加法运算using System;using System.Collections;using System.Collections.Generic;using System.Text;using UnityEngine;using ...原创 2018-10-08 16:56:04 · 10479 阅读 · 3 评论 -
Unity3d将资源打包成AssetBundle 读取后材质球丢失的问题
由于打包时 每种资源的材质球类型不同 可能导致有些资源的材质球没有被默认一起打包进Bundle 解决方法如下:Edit——>Project Setting——>Graphics 在Always Included Shaders中 是Unity默认打包的材质球类型 ,将你所用到的材质球类型也添加进去,重新打包。就可以读取到了 补充:有的自定义S...原创 2018-10-23 17:14:05 · 9593 阅读 · 0 评论 -
Unity3d导出的安卓包如何在真机上看log打印
原文连接:https://www.jianshu.com/p/bbb359c82084经常需要用手机来测试一下运行效果 ,但是有时候出了错误看不到打印会很麻烦。这里分享一个用usb连接手机后能看到打印的方法下载Android SDK (用Unity3d的一般都会下载吧。。)在安装路径下Sdk\tools\lib\monitor-x86_64找到monitor.exe,直接双击运行。...转载 2018-11-20 20:42:28 · 3834 阅读 · 1 评论 -
使用ToluaFrameWork时遇到的一些问题
最近的项目在使用ToLua框架热更新。在做初期准备时,拿着GitHub上的ToLuaFrameWork进行学习和修改,在导出安卓包时,遇到了一些问题,因此记录了一下。1.Plugins目录下的X86和X86_64文件夹中的toLua要设置成不同的平台,Android/libs的armeabi-v7a和x86中的libtolua也要设置成对应的平台。否则打包时会报错2.如果报错:Unab...原创 2018-12-06 15:58:59 · 2468 阅读 · 1 评论 -
Unity3d 读取配置文本自动生成C#类 (一)
前几天做了一个可以通过读取配置文本自动生成C#类的工程,因此想写下来分享给大家顺便给自己加深一点印象。首先是获取到配置文件的文本路径,这里就不多做介绍了,不了解的可以查阅Unity3d实现打开窗口选择文件获取路径获取到路径后 开始准备读写文件,读写文件的方法也有很多 可参考 C#读写文件的两种方式我这里使用的是StreamReader和StreamWriter的方式进行读写。1.先...原创 2018-09-25 14:33:24 · 2000 阅读 · 0 评论