首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Unity通用渲染管线(URP)系列(八)——复杂贴图(Masks, Details, and Normals)

(反照率贴图) 使用该反照率贴图,并使用我们Lit着色器创建新材质。将其平铺设置为2 x 1,以便让正方形纹理环绕一个球体而不会被拉伸得太多。但默认球体极点总是会变形很多,这是无法避免。...与其创建具有更好遮挡数据另一个遮罩贴图,不如将遮挡强度滑块属性添加到我们着色器。 ? ? (遮挡滑块,降低至0.5) 将其添加到UnityPerMaterial缓冲区。 ?...生成Mip贴图时,应将法向矢量与其他数据通道区别对待,而Unity纹理导入器无法做到这一点。而且,在使Mip贴图淡化时,Unity会忽略Alpha通道,因此该通道数据将不会正确变淡。...不会在本教程中介绍这些内容。 为贴图添加着色器属性,并添加法线scale。 ? (细节法线属性,设置为强度一半) 通过添加UV细节参数并采样细节贴图调整GetNormalTS。...(细节化后法线) 5 可选贴图 并非每种材质都需要用到我们当前支持所有贴图。未分配贴图意味着结果不会修改,但是着色器仍使用默认纹理完成所有工作。

4.2K40
您找到你想要的搜索结果了吗?
是的
没有找到

基础渲染系列(十)——更复杂复合材质

尽管DoMetallic在没有贴图情况下会显示滑块,但我们需要在此做相反操作。另外,Unity标准着色器使用遮挡贴图G颜色通道,因此我们也将这样做。在工具提示展示。 ? ? ?...当遮挡强度为零时,贴图完全不会影响光线,因此,该函数需要返回1。当处于全强度时,结果恰好是贴图结果。我们可以通过基于滑块在1和贴图之间进行插值实现。 ?...不必总是将反照率与细节相乘,而是基于蒙版在未修改修改反照率之间进行插值。就像所有其他属性一样,将反照率检索放入其自身函数。 ? 2.3 法线细节 还需要对法线向量进行相同调整。...这时,没有任何细节与未修改朝上切线空间法线向量相对应。因此,我们再次通过基于细节蒙版向量及其原始值之间插值替换原始细节法线。 ? ?...如果愿意,可以用常规for循环替换它们。 ? 请注意,上面的代码使用一个临时变量缓存editor.targets属性。foreach循环不需要这样做,因为仅直接引用一次数组即可获得其迭代器。

2.3K30

「R」Shiny:用户界面(三)布局

在我们知道如何创建一系列输入和输出控件之后,我们需要学会如何在一个页面对它们进行排列,以达到比较好展示效果。这正是布局函数工作,布局函数提供了一个应用高层次可视化结构。...library(shiny) 概览 Shiny 应用布局由层次函数调用创建,其中 R 层次结构与输出层次结构匹配。...,相信通过扫读上面的函数名也会对该页面布局有一个比较准确猜测:顶部是标题栏,然后是侧边栏(包含滑块),主面板包含图。...接下来,将给读者介绍 2 个通用页面结构:带侧边栏页面和多行页面。...技术实现 可能会有读者惊讶我们上面使用了一个 R 函数 theme_demo() 创建 Shiny UI。

3.6K10

基于R语言shiny网页工具开发基础系列-01

上面是shiny团队稿件 shiny是一个直接用R制作交互式网页应用 (interactive web applications (apps)) R包 一、欢迎使用shiny 如下就是一个简单朴素...runApp和其他R许多函数(read.csv, read.table)一样,第一个参数是从工作目录到app目录文件路径,以上代码假设my_app文件夹包含在你工作路径,因此,只需要输入文件夹名字...改改代码练习一下 在工作目录创建一个新文件夹App-1,用上面的代码创建一个app.R,看起来像这样 # 输入命令启动一下看看 runApp("App-1") 终止app并尝试做如下更改 1.把标题从...2.设置滑块最小值为5 3.把直方图边框颜色从白色改成黄色 改好了看看能否出现下面的结果吧,成功了哦 默认情况下,app以"normal"模式展示,就像上图一样。...Shift+Enter) 点击灰色向下展开小箭头还有更多惊喜哦 一个个点点看 5.回顾一下怎么创建一个app 创建一个以myapp为名路径(文件夹) 保存app.R到myapp文件夹 使用runApp

2K30

Python交互式数据分析报告框架:Dash

只因去年下半年时候,用R语言博哥和龙少有Shiny这样框架可以开发交互式整合Web数据分析报告,让这个成天鼓吹用Python做数据分析的人眼馋不已。...,比如选择下拉菜单或拖动滑块,Dash装饰器就会把新输入值传递给Python代码。...如果你是从Excel阵营中转移过来,那算是对地方了。Dash与Excel都采用了“响应式”程序模型。在Excel输入单元格发生变化时,输出单元格也会自动更新。...用滑块输入框、下拉菜单与图形等富Web组件取代Excel单元格,用Python代码取代Excel函数或VBA脚本,这就是用Dash重写Excel表单应用: app.layout = html.Div...最后,要给Jupyter Widget(小组件)点个赞,Jupyter在其Notebook界面中提供了一个非常赞Widget框架,可以为在本地运行Jupyter Notebook图形添加滑块等功能

6.9K92

基于R语言shiny网页工具开发基础系列-03

,每个都可以用直白命名R函数创建,例如函数actionButton 用来创建 动作按钮 (Action Button),函数 sliderInput 创建 一个 滑块 (slider bar) 下表是常见小部件...当然此篇只要了解他们作用就行了,不必了解这种复杂布局方案 练习 尝试写个如图所示界面(答案很长放在后面,但是一定一定要先自己做一遍哦) 小节回顾 shiny提供一个函数家族创建这些小工具 每个小工具函数都需要...name和label这两个参数 一些小工具需要特别的指令执行他们工作 加入小工具就像加入其他HTML内容一样简单 更进一步 Shiny Widgets Gallery 提供模版,供你快速加入到自己...app 访问这个网站,图库展示了每个小部件,并演示了每个小部件值根据你输入而变化 选择一个小工具,并点击See Code。...又做出来了哦,这是结果 代码 library(shiny) # Define UI ---- ui <- fluidPage( titlePanel("censusVis"), sidebarLayout

2.5K20

「R」Shiny:响应式编程(一)server 函数

在前面的文章,我们介绍了如何创建用户界面。现在我们将内容转向对于 Shiny 服务端讨论,它会让我们在运行时中使用R代码让用户界面栩栩如生。 在 Shiny ,我们使用响应式编程表达服务逻辑。...因为前端呈现给每个用户页面是一样,所以 ui 很简单;而 server 就会很复杂,这是因为每个用户都需要一个独立版本应用:例如,当用户 A 移动滑块时,用户 B 不应该受到影响。...input 如果在内部被修改就不能反应用户在浏览器输入,从而造成了不一致性,这是 Shiny 所不允许。...不过,有时候动态地修改界面显示是有必要地,之后我们会介绍通过像 updateNumericInput() 这样函数来进行更新。 关于 input 有另外一个重要事情:允许读取它是有选择性。...我们必须通过像 renderText() 或 reactive() 这样函数创建响应式语境才能从一个输入控件读入数据。

2.5K10

Unity3d开发

slider 用于显示拖曳区域GUI样式 value 设置滑动条显示值 rightValue 滑块右端值 thumb 设置显示可多同滑块GUI样式 就是一个滑块在进度条上左右拖动,游戏中经常会有使用它做英雄血条..." + GUI.color); GUI.DragWindow(new Rect(0, 0, 1000, 1000)); } } 贴图 选中图片,将Tecture type修改成sprit..."); } Toggle 用于在屏幕上绘制一个开关,通过开关闭合执行一些具体指定操作,就会根据不同切换动作返回相应布尔值 参数 描述 position 设置控件在屏幕上位置及大小 image...将基于输入世家您发送到应用程序对象 Standalone Input Module独立输入模块;基于InputManager管理器状态发送事件 Touch Input Module触控输入模块...全局地形生成高度图分辨率 Detail Resolution 细节分辨率 全局地形生成细节贴图分辨率 Detail REsolution Per Patch 每个地形快网格分辨率 全局地形每个地形快网格分辨率

9.1K30

基础渲染系列(九)——复合材质

像标准着色器一样,我们将贴图滑块显示在一行上。 ? ? ? (使用金属贴图) 2.3 贴图还是滑块 使用金属贴图时,标准着色器GUI隐藏滑块。我们也可以这样做。...Unity基于多重编译语句以及将哪些关键字添加到材质检测项目中所有自定义关键字。在内部,它们被转换并组合为位掩码。关键字获得标识符随项目而异。 在Unity 5.4,位掩码包含128位。...另一个是调制后平滑度贴图标量。这里我们简单一些,也同时使用_Smoothness属性。这意味着必须将其设置为1才能获得修改平滑度贴图值。 ?...太细无法正确估计,特别是如果它们未与UV轴对齐时候。对于这种压缩,电路尖锐对角边缘是最坏情况。在金属表面和非常光滑表面上,此限制变得清晰可见。其他时候它没有那么明显。 ?...4.4 自发光岩浆 这是岩浆材质自发光图。它使沟壑熔岩炽热。你可以通过调整颜色更改自发光亮度和色调。 ? ? (岩浆自发光贴图分配了自发光图,但是没有显示?

3.3K10

Unity通用渲染管线(URP)系列(四)——方向阴影(Cascaded Shadow Maps)

但是我们将来会支持其他类型光源,它们将获得自己阴影设置。因此,将atlasSize放在Directional结构。这样,我们可以在检查器自动获得hierarchical 配置。 ?...尽管确切格式取决于目标平台,但这为我们提供了适合渲染阴影贴图纹理。 ? 当获得临时渲染纹理时,我们还应该在完成处理后释放它。...这些是输入参数,其余三个是输出参数。首先是视图矩阵,然后是投影矩阵,最后一个参数是ShadowSplitData结构。 ? 拆分数据包含有关应如何剔除投射对象信息,我们需要将其复制到阴影设置。...我们还使用光源现有的“Normal Bias”滑块调整我们应用法线偏差。...(裁切和透明度阴影表现) 5.1 阴影模式 我们可以通过几种方法修改阴影投射器。由于涉及写入深度缓冲区,因此阴影是二进制(无论是否存在),但这仍然给我们带来了一定灵活性。

6.4K40

基于R语言shiny网页工具开发基础系列-04

告诉shiny如何在server函数构建对象,该对象会在它代码构建一个小工具时候反应 第一步:加一个R对象到UI shiny提供了一个函数家族,将R对象转换成在UI输出,每个函数创建特定类型输出...因为滑块小工具有两个值,最大值和最小值,所以input$range 会包含一个长度为二向量。...当用户改变小工具,shiny会使用新值重建依赖于那个小工具所有的输出,重建对象达到更新目的 这就是如何用shiny创建反应,通过连接input列表值到output对象。...通过在render*表达式包含一个input值创建反应对象 结果( ?...又对了) 代码 library(shiny) ui <- fluidPage( titlePanel("censusVis"), sidebarLayout( sidebarPanel

7.2K10

Shiny-R语言轻松开发交互式web应用

Shiny应用程序会自动刷新计算结果,这与电子表格实时计算效果类似。当用户修改输入时,输出值自动更新,而不需要在浏览器手动刷新。...可以在任何R环境运行(R命令行、Windows或MacRgui、ESS、StatET、RStudio等) 基于Twitter Bootstrap默认UI主题很吸引人。...开发和发布你自己Shiny小工具,其他开发者也可以非常容易地将它加到自己应用 安装 Shiny可以从CRAN获取, 所以你可以用通常方式来安装,在R命令行里输入: install.packages...现在,就尝试运行一下例子程序,浏览一下源代码,可以获得shiny初始印象。也可以通过认真阅读注释进一步了解。...从某种程度上说,它很简单——根据用户选择bin数目将直方图画出来。

2K20

(数据科学学习手札66)在ubuntu服务器上部署shiny

使用服务器是阿里云ECS,ubuntu 16.04,2核8G内存,40G系统盘,如果条件允许的话,建议内存不要选择过小,否则在编译安装一些R包如raster时会内存不足(当然你也可以通过swap方式增加虚拟内存...其实可以在服务器输入wget 下载链接 来下载对应文件,但是无奈这样下速度太慢,于是在本地电脑用了之后以很快速度下载了Rstudiogeb文件,然后用pscp上传到我们服务器上指定目录下:...可以看到熟悉界面,就是个在线版Rstudio,可以通过它方便地修改服务器上R代码。...这时可以发现右侧下方应用没有正常显示,但这里并没有明确显示具体报错信息,为了在shiny应用出错时能显示具体错误信息,我们需要修改shiny server配置文件,执行下列命令打开shiny server...同样,我们可以修改配置文件默认应用路径到我们自己应用位置,而在管理shiny server运行上,主要用到下列命令: #查看状态 sudo systemctl status shiny-server

4.9K20

基于R语言shiny网页工具开发基础系列-05

是不一样shiny运行server函数时,会把所有文件路径起始位置视为server.R所在路径,换而言之,shiny app会把server.R所在路径作为工作目录。...shiny只会运行这些代码一遍,包含了所有你在server函数表达式要调用东西。 在server函数定义用户特定对象,当时不包含在render*函数之中,这种对象是每个用户都需要个人副本。...总之防止把不必要代码放入render*函数,拖慢app速度 练习1 尝试将如下代码插入到下面app.R脚本正确位置 注意,此练习结果还不是完整app,所以无法运行,练习二才会完成 source...每次启动,shiny会运行app.R代码,server函数之前部分只会在这个app启动时运行一次 server之中代码会运行多次,可能会拖慢app速度 switch是多选项小工具实用辅助函数...,把小工具值转换成R表达式 答案 library(shiny) source("helpers.R") counties <- readRDS("data/counties.rds") library

1.5K20

【Unity3D入门教程】Unity3D之GUI浅析「建议收藏」

大家好,又见面了,是你们朋友全栈君。 前言 一款典型软件都会有交互界面,这些界面包括标签、按钮、拖动条等。Unity3D内置一些基本GUI命令,可以在屏幕上绘制简单交互控件。...; } 3 TextField文本输入框 可以输入文字等,如用户名和密码。...; editPassword = GUI.PasswordField(newRect(150,80,200,30),editPassword,"*"[0],15); 4 Slider滑动条 滑动条上滑块位置可以表明对应数值...toolBarValue0,100,0); toolBarValue1 = GUI.HorizontalSlider(newRect(200,180,100,30),toolBarValue1,0,100); 5 GUI绘制贴图...当然现在很多开发,这种基本GUI已经用得不多了,UGUI是新一代交互方式,具有更加灵活使用情境,值得继续探究。

1.3K20

Unity通用渲染管线(URP)系列(七)——LOD和反射(Adding Details)

但是,太小而无法覆盖多个像素细节会反而会降级为模糊噪声。在这种视觉比例下,最好不要渲染它们,这样还可以释放CPU和GPU渲染更重要东西。我们可以在可以区分它们时决定是否需要剔除此类对象。...为了使这一点更加明显,在Baked Light 场景添加了新金属球,这些金属球具有不同颜色和平滑度。 ?...Surface现在因其菲涅耳强度而获得了发展。 ? 我们将其设置为等于LitPassFragment滑块属性值。 ? 最后,使用它缩放我们在IndirectBRDF中使用菲涅耳强度。...(使用三个反射探针) 每个对象仅使用一个环境探针,但是场景可以有多个探针。因此,你可能必须拆分对象以获得可接受反射。...如果你感到好奇,2018 SRP教程Reflections教程说明了如何混合探针,但是希望一旦旧版管道删除,此功能就会消失。将来我们将研究其他反射技术。

4.3K31

「R」Shiny 教程笔记

p8:响应值(reactive values) 响应值就是 Shiny 数据流,input 是响应值列表,这些值展示了当前输入各自状态。注意⚠️:响应值只能在对应设定好响应环境中使用!...需要注意⚠️是,当多个输入在同一个代码块时,修改一个参数会更新全部参数,在一般情况下没有问题,但如果涉及随机数就会影响整个结果。...例如讲解视频例子,当修改图标题时,代码重新运行,而数据来自随机函数,随机函数被重新执行,最终效果是不仅仅图标题改变了,生成数据也发生了改变。 ? ? ? ? ?...(这里如果修改 title,整个结果都会发生改变) ? p10:使用 reactive 表达式模块化 Shiny 回顾上一部分学习,当多处使用同一随机数据时,不同地方数据将变得不一致。...p14:使用 reactiveValues() 管理状态 input 是无法修改,我们可以通过 reactiveValues() 来生成一个列表,管理响应值状态,包括修改。 ? ? ? ?

6.6K51

基础渲染系列(八)——反射

你可以通过打开场景视图工具栏Gizmo下拉菜单,向下滚动到ReflectionProbe,然后单击其图标做到这一点。 ? ? (关闭反射探针Gizmo) 反射探针通过渲染立方体贴图捕获环境。...并且有许多材质是金属和非金属成分混合。你可以通过将Metallic滑块设置在0到1之间某个位置模拟这一点。 ?...你也可以使用其他编辑模式在场景对其进行调整,但是它有点笨拙,并且当前无法与撤消一起很好地工作。 调整盒子,使其覆盖建筑物内部,覆盖支柱并一直到达最高点。...将其设置得比它大一点,以防止由于场景视图中gizmosZ角冲突而导致闪烁。 ? ?...Unity将这些信息存储在立方体贴图位置第四分量。如果该分量大于零,则探针应使用盒投影。让我们使用if语句解决这个问题。 ? 即使我们使用了if语句,也不意味着编译后代码也包含if。

3.7K30

如何在Ubuntu 14.04上设置Shiny Server

如果您CVM运行是不同版本Ubuntu或不同Linux发行版,则大部分说明仍然适用,但您可能需要修改某些命令以匹配您特定发行版。...先决条件 在本教程,您将需要: Ubuntu 14.04 腾讯CVM,带2 GB RAM,没有服务器同学可以在这里购买,不过个人更推荐您使用免费腾讯云开发者实验室进行试验,学会安装后再购买服务器...注:在本指南剩余部分,当你看到你服务器IP,你需要用你CVMIP代替它。 第1步 - 安装Shiny 在安装Shiny Server之前,我们需要安装shiny R包。...sudo gdebi shiny-server-pro.deb 您还将获得激活Shiny Server Pro所需产品密钥。...Shiny Server配置文件位于/etc/shiny-server/shiny-server.conf。默认情况下,它配置为服务于/srv/shiny-server/目录应用程序。

3.2K10
领券