uv

Blender2.8基础(二)UV编辑

感情迁移 提交于 2020-01-24 22:03:39
一、展UV前 ▶ 打开UV编辑器 ▶ UV编辑器里显示UV:不开启只会显示选择的模型UV ▶ 显示模型的缝合边 ▶ 展UV前先重置模型:这是为了避免UV有拉伸(有时候重置模型后UV还会有拉伸,可以导入RizomUV软件展UV) 二、显示棋盘格贴图 推荐使用这张棋盘格贴图,方便查看UV放向。 三、UV通道(UV1、2、3。。。。。。) 四、UV编辑 ▶ 松弛(优化)UV:按U选择【展开】(在Blender的松弛 /优化功能就是“展开”) ▶ 断开UV线(标记缝合边):Ctrl+E 线级别下选择要断开的线,然后右键或者Ctrl+E选择【标记缝合边】,再切换到面级别下(这里点线面级别都可以),选择面后按U键选择【展开】展开UV。 ▶ 缝合UV:V(选择边界线,按V识别UV后按Enter) ▶ 轴心选择:Period键,也就是大键盘上的“.”键,空格键右上角。 ▶ 重置UV:面级别下,在3D视图选择面按U选择【重置】 ▶ 图钉:P (钉住UV,再次使用【展开】时,被钉住的UV不会被展开) ▶ 选择整块UV:L(面级别下,选择面后按L就能选择整块UV) ▶ 排列UV(把UV排列到UV框内): ▶转移UV:把模型UV复制到另一个模型上(前提是:都是相同的模型)。 操作流程:先选择被转移UV的模型,在选择原UV模型,然后按Ctrl+L打开【生成关联项】菜单,选择【传递UV映射】。 五

StarWink UV顶点动画制作详解

谁都会走 提交于 2020-01-20 07:58:07
StarWink UV顶点动画制作详解 我们先来看最终效果 实现原理: 1.利用算法得到圆形差值的UV坐标(中间为0)去采样纹理,得到圆形扩散的循环纹理动画。 2.利用算法得到循环的圆形扩散遮罩,并作为顶点偏移遮罩控制顶点动画。 3.模型顶点UV做了同一块模型上的UV顶点坐标一致性的处理,使得同一块模型上的所有点偏移量一致。 此次制作使用ASE来做算法说明(代码不直观)。 算法实现: 1. 利用UV的取值范围映射到指定的取值范围,并求模(Remap和Length) 第一个算法是Remap方法: 将某个区间的取值范围([Min Old, Max Old])映射到指定区间范围([Min New, Max New])。 算法为:如要将Val从[a, b]映射到[A, B],则公式为 Val = A + Val * (B - A) / (b - a) 第二个算法是length方法,意思是求取向量模长。公式:Sqrt ( Dot ( Iput, Iput ) )。此处将 [-1, 1]的取值范围的二维坐标取模,因为中间点(0, 0)的模长为0,边界处模长为1,所以得到一个[0, 1]灰度渐变的圆(这里的渐变为线性的)。 2. 两向量间的距离,(Distance) 当B向量Time Speed = 0时,Distance如下图所示。 公式:Sqrt (dot ( ( B-A ), ( B-A

Hive分析窗口函数

谁说我不能喝 提交于 2020-01-19 15:31:17
Hive中提供了越来越多的分析函数,用于完成负责的统计分析。 今天简单整理一下,以务以后自己快速查询,也给看到的朋友作个参考。 分析函数主要用于实现分组内所有和连续累积的统计。 一. AVG,MIN,MAX,和SUM 如果不指定ROWS BETWEEN,默认为从起点到当前行; 如果不指定ORDER BY,则将分组内所有值累加; 关键是理解ROWS BETWEEN含义,也叫做WINDOW子句: PRECEDING:往前 FOLLOWING:往后 CURRENT ROW:当前行 UNBOUNDED:起点,UNBOUNDED PRECEDING 表示从前面的起点, UNBOUNDED FOLLOWING:表示到后面的终点 二. NTILE,ROW_NUMBER,RANK,DENSE_RANK 1) NTILE NTILE(n),用于将分组数据按照顺序切分成n片,返回当前切片值 NTILE不支持ROWS BETWEEN,比如 NTILE(2) OVER(PARTITION BY cookieid ORDER BY createtime ROWS BETWEEN 3 PRECEDING AND CURRENT ROW) 如果切片不均匀,默认增加第一个切片的分布 2)ROW_NUMBER ROW_NUMBER() –从1开始,按照顺序,生成分组内记录的序列,比如,按照pv降序排列

【译】Unity3D Shader 新手教程(4/6) —— 卡通shader(入门版)

和自甴很熟 提交于 2020-01-17 15:59:14
本文为翻译,附上 原文链接 。 转载请注明出处—— polobymulberry-博客园 。 暗黑系 动机 如果你满足以下条件,我建议你阅读这篇教程: 你想了解更多有关表面着色器的细节知识。 你想实现一个入门级别的卡通效果shader(Toon Shader)。 你想知道渐变纹理(ramp texture)的使用方式。 你想了解边缘光照(rim lighting)的知识。 准备工作 我们想实现一个toon shader - 一种能让模型看起来具有卡通效果的shader,在图形学领域,这被称作非真实感图形学(Non Photorealistic Rendering)。 为了实现这种卡通效果,我们得做以下几件事: 减少原始模型上使用的颜色种类。 自定义光照模型,使明暗边界更清晰。 将模型的边缘绘制成黑色。 表面着色器的工作流程 在教程的第一部分我使用了一个简化版的表面着色器流程图,事实上关于表面着色器的工作流程还有很多内容。首先我们看一个相对完整的工作流程图: (译者注:上面很多部分都是可选的,如果我们不自定义这些部分,那将使用Unity自己提供的处理函数。这里尤其注意可选部分的使用格式。 #pragma surface surfaceFunction lightModel [optionalparams] 对于像素处理函数surfaceFunction

Unity OF 3DMax毛坯房制作标准

ぐ巨炮叔叔 提交于 2020-01-15 02:53:08
Unity OF 3DMax毛坯房制作标准 1、 模型 2、 贴图 3、 模型塌陷展UV 4、 灯光 5、 Radiosity 6、 Render To Texture 7、 烘焙 8、 导出 1. 模型 回目录 1)单位统一为:米 导出时也选择厘米,导出的fbx文件直接导入unity3D,unity3D中的1刚好对应3Dmax中的1。 下图中右边为unity3D中的Cube,Scale为1:1:1 。左边Cube 是3Dmax中建立的1:1:1米的模型。 2)cad导入格式可选其中任意一个都可以 3) 导入CAD图之后把物体放在场景0.0.0位置。 4)使用CAD实际尺寸建立模型,同时参照结构图看有无丢失房梁。 5)模型制作过程中对齐边或者点,需要用2.5维对齐捕捉工具。 6)如果甲方需求做空调孔需要在制作墙体的时候将空调孔留出。制作空调洞的时候可用超 级布尔制作,将空调孔的位置塌陷成单独物体制作。 7)注意厨房、卫生间家具的高度。(一般厨房洗菜池和卫生间的洗脸池的高度为900mm)。 8)墙体的制作为一个box对象挤出,不能出现多个box拼凑搭建。 9)楼梯踏步没有图纸说明的情况下高度一般在150mm-1800mm之间。 10) 制作墙体模型时要比实际标高多出300MM(地面以下为200mm.顶以上为100mm),水平零面在地面高度。 11)图层命名方便管理

nodejs源码解析之事件循环

China☆狼群 提交于 2020-01-13 04:02:18
nodejs的的事件循环由libuv的uv_run函数实现。在该函数中执行while循环,然后处理各种阶段(phase)的事件回调。事件循环的处理相当于一个消费者,消费由各业务代码生产的任务。下面看一下代码。 int uv_run ( uv_loop_t * loop , uv_run_mode mode ) { int timeout ; int r ; int ran_pending ; r = uv__loop_alive ( loop ) ; if ( ! r ) uv__update_time ( loop ) ; while ( r != 0 && loop -> stop_flag == 0 ) { // 更新loop的time字段 uv__update_time ( loop ) ; // 执行超时回调 uv__run_timers ( loop ) ; // 执行pending回调,ran_pending代表pending队列是否为空,即没有节点可以执行 ran_pending = uv__run_pending ( loop ) ; // 继续执行各种队列 uv__run_idle ( loop ) ; uv__run_prepare ( loop ) ; timeout = 0 ; // UV_RUN_ONCE并且有pending节点的时候,会阻塞式poll

yuv 格式

孤者浪人 提交于 2019-12-24 07:44:38
1.YUV4:4:4格式意味着Y、U、V三个分量的采集比例相同,因此在生成的图像里,每个像素的三个分量信息完整,都是8bit,也就是一个字节。YUV4:2:2格式的采样特征是在每相邻的两个像素,一个丢弃U分量,一个丢弃V分量.YUV4:2:0格式的采样特征是所有像素都保留Y分量,同一行的像素只保留U分量,或者是V分量,同一行中相邻的两个像素只保留同一个Y分量或者U分量。 2.将YUV444转换为NV12(YUV420):从偶数行(YUV444)提取U分量,且从每一偶数行(YUV444)的每四个像素提取2个U分量。同理从奇数行(YUV444)提取V分量,且从每一偶数行(YUV444)的每四个像素提取2个V分量.若将一幅格式为YUV444,分辨率为n x m的图片转换为NV12.YUV444格式图片大小M=n x m x 3.转换为NV12后大小M=3 / 2 x n x m.实现代码如下: int yuv444_to_nv12 ( unsigned char * buffer_src , int fd ) { unsigned char * yuvIn , * yuvOutput , * y_in , * u_in , * v_in , * y_output , * u_output , * v_output ; int i , j , u_count = 0 , v_count =

互联网UV,PU,TopN统计

ぃ、小莉子 提交于 2019-12-23 19:49:44
1. UV、PV、TopN概念 1.1 UV(unique visitor) 即独立访客数   指访问某个站点或点击某个网页的不同IP地址的人数。在同一天内,UV只记录第一次进入网站的具有独立IP的访问者,在同一天内再次访问该网站则不计数。UV提供了一定时间内不同观众数量的统计指标,而没有反应出网站的全面活动。 1.2 PV(page view)页面浏览量或点击量   页面浏览量或点击量,是衡量一个网站或网页用户访问量。具体的说,PV值就是所有访问者在24小时(0点到24点)内看了某个网站多少个页面或某个网页多少次。PV是指页面刷新的次数,每一次页面刷新,就算做一次PV流量。 1.3 TopN   顾名思义,就是获取前10或前N的数据。 2. 离线计算UV、PV、TopN   这里主要使用hive或者MapReduce计算。 2.1 统计每个时段网站的PV和UV hive> select date,hour,count(url) pv, count(distinct guid) uv from track_log group by date, hour; date hour pv uv 20160624 18 64972 23938 20160624 19 61162 22330 2.2 hive中创建结果表 create table db_track_daily_hour

Shadertoy学习笔记(四)飘落的花瓣

ε祈祈猫儿з 提交于 2019-12-22 18:48:40
首先画一个圆 #define S(a,b,t) smoothstep(a,b,t) void mainImage( out vec4 fragColor, in vec2 fragCoord ) { // Normalized pixel coordinates (from 0 to 1) vec2 uv = (fragCoord.xy - .5*iResolution.xy)/iResolution.y; vec3 col = vec3(0.); float d = length(uv); float c = S(.3,.28,d); col = vec3(c); fragColor = vec4(col,1.); } 心形 uv.x*=.7; uv.y -= sqrt(abs(uv.x))*.5; 增加模糊 #define S(a,b,t) smoothstep(a,b,t) float smax(float a,float b,float k) { float h = clamp((b-a)/k+.5,0.,1.); return mix(a,b,h)+h*(1.-h)*k*.5; } void mainImage( out vec4 fragColor, in vec2 fragCoord ) { // Normalized pixel coordinates (from

Linux电源管理-Linux regulator framework概述

柔情痞子 提交于 2019-12-19 13:44:51
前言 1. 什么是regulator? regulator翻译为"调节器",分为voltage regulator(电压调节器)和current(电流调节器)。一般电源管理芯片(Power Management IC)中会包含一个甚至多个regulator。 2. regulator有什么作用? 通常的作用是给电子设备供电。大多数regulator可以启用(enable)和禁用(disable)其输出,同时也可以控制其输出电压(voltage)和电流(current)。 从上图可以看出,input power会经过 regulator 转化为output power,regulator会做如下的约束: - Voltage control: 输入5V输出1.8V - Current limiting: 电流的输出最大为20MA - Power switch: 可以控制电压enable/disable 问题 1. 如果一个系统只有一个regulator,而且只对一个设备控制的话,完全没必要使用linux regulator framework机制。但是如果一个系统几个甚至十几个regulator,每个regulator之间还存在级连关系,这时候就需要Linux regulator framework。 2. 如果一个regulator控制多个设备,而每个设备的电压或电流需求方式不同