精华内容
下载资源
问答
  • Unity Shader 之 像素风格(马赛克风格)的简单实现 目录 Unity Shader 之 像素风格(马赛克风格)的简单实现 一、简单介绍 二、实现原理 三、注意实现 四、效果预览 五、实现步骤 六、关键代码 一、...

    Unity Shader 之 像素风格(马赛克风格)的简单实现

     

    目录

    Unity Shader 之 像素风格(马赛克风格)的简单实现

    一、简单介绍

     二、实现原理

     三、注意实现

    四、效果预览

    五、实现步骤

    六、关键代码


     

     

    一、简单介绍

    Shader Language的发展方向是设计出在便携性方面可以和C++、Java等相比的高级语言,“赋予程序员灵活而方便的编程方式”,并“尽可能的控制渲染过程”同时“利用图形硬件的并行性,提高算法效率”。

    本节介绍,使用shader 像素化风格,或者叫做马赛克风格。

     
    二、实现原理

    1、方法一:对UV进行放大,然后截取整数部分,然后再缩回原大小,UV精度丢失,就形成马赛克效果

         float ratio_u = (int)(i.uv.x * _pixelSize)/_pixelSize;
                float ratio_v = (int)(i.uv.y * _pixelSize)/_pixelSize;

    2、方法二:素风格的纹理跟我们正常看到的纹理是一样的,只是把一张图的精细分布像素格重新取样得到一个比较大的区域的新纹理而已。简单来说,同个大小的区域,填充的精细度越高,真实的图像还原度就越高了。就是把一张2维的纹理根据长跟宽取样数量成一个个固定的像素格填充到原纹理中

         fixed ratio_u = _EachPixelSize.x*(1.0/ _PixelationArea.x);
                fixed ratio_v = _EachPixelSize.y*(1.0/ _PixelationArea.y);

         fixed2 pixel_uv = fixed2(ratio_u * ceil(i.uv.x/ratio_u),ratio_v * ceil(i.uv.y/ratio_v));

     
    三、注意实现

    1、两种方法都能实现效果,根据需要选取即可;

     

    四、效果预览

     

    五、实现步骤

    1、打开Unity,新建一个空工程

     

    2、在工程中添加shader,并对应新建材质Material,记得导入一张测试图作为测试效果使用

     

    3、编辑shader,保证编译正确,对应材质添加图片,并设置值

     

    4、在场景中添加两个 Quad,并对应把两个材质赋值给他们

     

    5、运行效果,如预览

     

    六、关键代码

    1、PixelStyle

    Shader "Custom/PixelStyle"
    {
        Properties
        {
            _Color ("Color", Color) = (1,1,1,1)
            _MainTex ("Albedo (RGB)", 2D) = "white" {}
            _pixelSize("Pixel Size",Range(1,256)) = 128
        }
        SubShader
        {
            Tags { "Queue"="Transparent" }
    		Blend SrcAlpha OneMinusSrcAlpha
            
    		pass{
    			CGPROGRAM
            
    			#pragma vertex vert
    			#pragma fragment frag
    
    			#include "UnityCG.cginc"
    
    
    			sampler2D _MainTex;
    			float4 _MainTex_ST;
    			float _pixelSize;
    			fixed4 _Color;
    
    			struct appdata{
    				float4 vertex:POSITION;
    				float2 uv: TEXCOORD0;
    			};
    
    			struct v2f{
    				float2 uv:TEXCOORD0;
    				float4 vertex:SV_POSITION;
    			};
    
    			v2f vert(appdata v){
    				v2f o;
    				o.vertex = UnityObjectToClipPos(v.vertex);
    				o.uv = TRANSFORM_TEX(v.uv,_MainTex);
    
    				return o;
    			}
    
    			fixed4 frag(v2f i):SV_Target{
    				fixed4 col = fixed4(0,0,0,0);
    
    				// 先放大uv,然后缩小到原来的大小,在int 然他丢失精度,从而实现像素风格(马赛克风格)
    				float ratio_u = (int)(i.uv.x * _pixelSize)/_pixelSize;
    				float ratio_v = (int)(i.uv.y * _pixelSize)/_pixelSize;
    
    				col = tex2D(_MainTex,fixed2(ratio_u,ratio_v));
    
    				// 这里给a处理,好似多余(可删)
    				if(col.a<0.5){
    					col.a = 0;
    				}
    
    				// 混合颜色返回
    				return col * _Color;
    			}
    
    
    			ENDCG
    		
    		}
            
        }
        FallBack "Diffuse"
    }
    

     

    2、PixelStyle_02

    Shader "Custom/PixelStyle_02"
    {
        Properties
        {
            _Color ("主色", Color) = (1,1,1,1)
            _MainTex ("主贴图", 2D) = "white" {}
            _PixelationArea("取样区域",Vector) = (256,256,0)
    		_EachPixelSize("像素画大小",Vector) = (3,3,0)
        }
        SubShader
        {
            Tags { "Queue"="Transparent" }
    		Blend SrcAlpha OneMinusSrcAlpha
            
    		pass{
    			CGPROGRAM
            
    			#pragma vertex vert
    			#pragma fragment frag
    
    			#include "UnityCG.cginc"
    
    
    			sampler2D _MainTex;
    			float4 _MainTex_ST;
    			float3 _PixelationArea;
    			float3 _EachPixelSize;
    			fixed4 _Color;
    
    			struct appdata{
    				float4 vertex:POSITION;
    				float2 uv: TEXCOORD0;
    			};
    
    			struct v2f{
    				float2 uv:TEXCOORD0;
    				float4 vertex:SV_POSITION;
    			};
    
    			v2f vert(appdata v){
    				v2f o;
    				o.vertex = UnityObjectToClipPos(v.vertex);
    				o.uv = TRANSFORM_TEX(v.uv,_MainTex);
    
    				return o;
    			}
    
    			fixed4 frag(v2f i):SV_Target{
    				fixed4 col = fixed4(0,0,0,0);
    
    				// uv各个方向取样参数
    				fixed ratio_u = _EachPixelSize.x*(1.0/ _PixelationArea.x);
    				fixed ratio_v = _EachPixelSize.y*(1.0/ _PixelationArea.y);
    
    				//先缩小uv,然后放大到原来的大小,在ceil 然他丢失精度,从而实现像素风格(马赛克风格)
    				// ceil 去上色相(可以试试 floor效果)
    				fixed2 pixel_uv = fixed2(ratio_u * ceil(i.uv.x/ratio_u),ratio_v * ceil(i.uv.y/ratio_v));
    				
    				col = tex2D(_MainTex,pixel_uv);
    
    				// 混合颜色返回
    				return col * _Color;
    			}
    
    
    			ENDCG
    		
    		}
            
        }
        FallBack "Diffuse"
    }
    

     

     

    展开全文
  • 个人收集的一些视觉化指南,是关于像素风格游戏的美术教学:            

    个人收集的一些视觉化指南,是关于像素风格游戏的美术教学:

     

     

     

     

     

     

    展开全文
  • 游戏像素设计教程

    2011-01-20 11:22:00
    课程描述: ...本教程从像素画的基础制作方法开始讲解,逐步学习到像素游戏的制作流程。教程中使用Photoshop开发像素图角色的绘制方法、手机像素图基础训练、手机游戏角色与角色动画、手机游戏场景绘制等。

    游戏 像素图设计教程

    课程描述:
    本教程从像素 画的基础制作方法开始讲解,逐步学习到像素游戏的制作流程。教程中使用Photoshop开发 像素图角色的绘制方法、手机像素图基础训练、手机 游戏角色与角色动画、手机游戏场景绘制等。

    课程要求:
    1.要具有一定的美术基础,了解物体结构,明暗关系。
    3.有耐心, 像素画是需要极度的耐力去制作完成的。
    4.要熟练操作相关的软件,视频 演示使用的是photoshop cs3。

    项 目平台:
    演示:Windows XP / Windows 7
    工具:photoshop cs3

    每集 8 元 购买

     

     

    游戏像素图设计教程 》课程计划表



    序号


    培训内容


    课时


    1


    像素图概述及基本操作功能演示

    课程目标:了解并掌握像素画的基本知识

    课程内容:
    l 像素图的基本绘制方法、像素图的色彩规范

    l 演示制作像素图的前期 准备工作、像素图各种线条、色彩和简单图形的绘制

    l 演示简单的像素道具及相关的知识点

    1-2


    2


    像素图角色的绘制方法

    课程目标:

    l 掌握像素图角色的绘制方法,熟练运用像素图规范线条和上色规范。

    课 程内容:

    l 绘制角色的相关美术知识

    l 卡通动物的绘制方法

    l 卡通人物的绘制方法

    l 写实角色的绘制方法

    l 写实人物的绘制方法

    4


    3


    像素图场景的绘制

    课程目标:

    l 场景的绘制流程及相关知识点、建筑物的绘制方法

    课程内容:

    l 像素图场景包括的内容,演示绘制流程

    l 演示建筑物的绘制过 程,包括卡通风格和写实风格两种

    2


    4


    像素动画

    课程目标:

    l 熟练使用 photoshop cs3 制作 GIF 动画

    课程内容:

    l 掌握 GIF 动画在像素图中的应用

    l 使用 photoshop cs3 制作 GIF 动画

    1-2




    5

    手机像素图基础训练

    课程目标:

    l 掌握手机游戏像素图的绘制

    l 熟悉手机游戏像素图绘制 的工作流程

    课程内容:

    l 像素图与游戏的关系

    l 手机游戏像素图的制作 规范

    l 手机游戏的图片要求

    l 演示手机游戏像素图的绘制方法

    1


    6


    手机游戏角色与角色动画

    课程目标:

    l 掌握手机游戏人物角色的绘制

    课程内容:

    l 演示手机游戏人物角色的绘制方法

    l 演示绘制手机游戏动物 角色

    1


    7


    手机游戏角色与角色动画

    课程目标:
    l 掌握绘制简单人物角色行走动画
    l 掌握绘制简单动物角色行走动画

    课 程内容:

    l 演示人物角色行走动画

    l 演示动物角色行走动画

    1-2

    8


    手机游戏特 效设计

    课程目标:
    l 了解手机游戏特效的用途
    l 掌握手机游戏特效的制作方法

    课程内容:

    l 演示手机游戏特效的制作方法

    1-2

    9


    手机游戏场景绘制

    课程 目标:
    l 掌握手机游戏场景绘制 的要求及方法

    课程内容:

    l 演示手机场景的绘制包括 室外、室内的绘制方法和要求

    2

    10



    游戏界面设计

    课程目标:
    l 了解游戏界面的美术风格

    课程内容:

    l 游戏界面设计的要素

    1


    展开全文
  • 是一种图标风格的图像,此风格图像强调清晰的轮廓、明快的色彩,同时像素图的造型往往比较卡通,因此得到很多朋友的喜爱。像素画的应用范围相当广泛,从小时候玩的FC家用红白机的画面直到今天的GBA手掌机;从黑白的...
     
    

    内容简介
      像素画其实是由很多个点组成。是一种图标风格的图像,此风格图像强调清晰的轮廓、明快的色彩,同时像素图的造型往往比较卡通,因此得到很多朋友的喜爱。像素画的应用范围相当广泛,从小时候玩的FC家用红白机的画面直到今天的GBA手掌机;从黑白的手机图片直到今天全彩的掌上电脑;即使我们面对的电脑中也无处不充斥着各类软件的像素图标。如今像素画更是成为了一门艺术,深深的震撼着你我。
      
      本教程从像素画的基础制作方法开始讲解,逐步学习到像素游戏的制作流程。教程中使用Photoshop开发像素图角色的绘制方法、手机像素图基础训练、手机游戏角色与角色动画、手机游戏场景绘制等。

    免费试看:http://www.hztraining.com/bbs/showtopic-402.aspx
    购买地址:http://product.china-pub.com/3500756#zyz
    目录
    第1-2讲:像素图概述及基本操作功能演示
    第3-6讲:像素图场景的绘制
    第7-8讲:像素图角色的绘制方法
    第9-10讲:像素动画
    第11讲:手机像素图基础训练
    第12讲:手机游戏角色与角色动画
    第13-14讲:手机游戏角色与角色动画
    第15-16讲:手机游戏特效设计
    第17-18讲:手机游戏场景绘制
    第19讲:游戏界面设计

    展开全文
  • 课程描述: ...本教程从像素画的基础制作方法开始讲解,逐步学习到像素游戏的制作流程。教程中使用Photoshop开发像素图角色的绘制方法、手机像素图基础训练、手机游戏角色与角色动画、手机游戏场景绘制等。
  • IOS设计指南 各个不同空间的像素

    千次阅读 2014-11-18 13:54:05
    有时候为iOS设计app并不是一件简单的事,但是如果你能找到正确的最新的苹果设备信息,并按照正确的方向,那么为iOS设计app或许会变得简单容易些。 关于这些指南 这些指南描述了如何遵守苹果的iOS 人机交互指南来...
  • 只包含地图元素素材文件不包含预览图,只包含地图元素素材文件不包含预览图,只包含地图元素素材文件不包含预览图,只包含地图元素素材高质量的RPG角色扮演素材资源,科技科幻风格类型,包含地图素材,人物角色等。...
  • 定义 dom,描绘出 8 行 9 列的心形像素图案,其中 <dot> 是指要填充颜色的像素点: <div class="heart"> <!-- line 1 --> <span></span> <dot></dot> <dot></...
  • 48 dp 的设计韵律 一般来说,可触摸控件以 48 dp 为基础单位。 为什么是 48 dp? 一般情况下,48 dp 在设备上的物理大小是 9 mm (会有一些变化)。这刚好在触摸控件推荐的大小范围 (7-10 mm) 内,而且...
  • 设计规范化 1. 设置你的Photoshop网格所以最小网格线被分裂的2个像素。  菜单栏>>编辑>>首选项>>参考线、网格和切片  设置网格线间隔为20像素 ,子网格2像素     2. 提前设置对齐 确保任何对象你...
  • HLSL,High Level Shader Language...你可以使用任何一款编辑器来编写 HLSL,但 Shazzam Shader Editor 则是专门为 WPF 实现像素着色器而设计的一款编辑器,使用它来编写像素着色器,可以省去像素着色器接入到 WPF ...
  • 移动互联网时代的到来,给我们带来便利的同时,也给众多移动网页设计师们提出了更大的挑战,因为相比于传统...而像素图刚好可以解决设计师们的困惑,它最大的特点就是体积小,能够方便在手机等小屏幕的移动设备上使用,
  • web2.0网站设计风格要素

    千次阅读 2012-01-11 14:38:13
    web2.0 :我一直听到说这个时髦的词,不管是喜欢还是讨厌web2.0,它都是这种特定的web2.0设计风格的一个主要的部分。这个指南的目的是想给一些设计新 手一些参考,或者是做为一个清单,给那些还在挣扎着适应着好多...
  • 今天我们将在PS图像处理软件中学习怎么制作网站登录框及登录界面,网站登录设计对于现在大部分网站来说都是必须,而如何网站设计师们如何设计好一个网站登录输入框呢?下面看教程为你们解答,大家不妨试着按教程制作...
  • web2.0图形设计风格指南

    千次阅读 2008-12-13 17:00:00
    web2.0,一个老生常谈的时髦词汇,但不管是喜欢还是讨厌web2.0,它都是这种特定的web2.0设计风格的一个主要的部分。这个指南的目的是想给一些设计新手一些参考,或者是做为一个清单,给那些还在痛苦地适应很多社交...
  • 这是一篇关于视觉方面的小文章,关于扁平化与拟物化风格的讨论。有不少朋友来发表各自的看法,说明这确实是大家都蛮关心的设计问题。大家的观点虽然不同,但都有一定的道理,都能看出发表论调的设计师的思考和激情。...
  • 有一个方法能够看出某人在完成一项网页设计时是否真的用心了。有时候创造奇迹的就是一些小细节,一些别人几乎无法察觉的细节。我所说的“像素级的完 美”就是指在线条、边缘和边框描边上仔细推敲。与其就用一条单一...
  • 使用 Metro 风格设计 内容是 Metro 风格应用的核心,并且在镶边前放置内容是 Metro 风格应用设计的关键。其他一切都是附属—或镶边—,可帮助显示和实现与内容的交互。 显示内容 设计你的应用 UI 以显示内容。 ...
  • 在图像处理中不可避免的要涉及到对图像像素的操作,这篇文章将介绍对图像像素的访问及遍历图像像素的方法。1.颜色空间缩减及查找表设想一种简单的C\C++类型的无符号字符型矩阵的存储结构,对于单通道图像而言,图像...
  • 风格迁移

    千次阅读 2018-02-22 17:20:54
    好久之前就想研究下风格迁移了,很酷炫的玩法~现在主要整理下风格迁移的基本方法,高分辨率的处理,以及计算效率问题。 风格迁移  既要保留原本图片的基本内容,又想将其他喜欢的绘画风格叠加上来,就像下面...
  • 像素大人生

    千次阅读 2006-02-11 11:51:00
    最近关于像素画最新最轰动的莫过于百事可乐新包装的推出,百事可乐代言人之一陈冠希连同德国著名像素设计师组合eboy连手创造了百事王国的像素作品作为百事可乐的最新包装。eboy是像素界的代表团体,由四位德国设计...
  • [Qt C++] 开发一个像素画工具

    千次阅读 2016-08-21 13:29:41
    同时,它也是一种设计风格,常用于图标(ICon)设计、logo设计、表情设计以及经典像素风游戏设计像素画的绘制上手比较容易,对创作者最基本的要求是对色彩的把握,如明度对比、纯度对比。因为在像素画中,具体的...
  • 不知道你有没有想过,为什么很人多的扁平化 PPT 是这个样子: ...或者是这样:然而,还有一小撮人的扁平化 PPT 却拥有那么高颜值:为什么会产生...设计篇( PPT 高大上设计指南) 资源篇(善于使用 PPT 辅助...
  • 【OpenCV】访问Mat图像中每个像素的值

    万次阅读 多人点赞 2012-07-22 07:10:45
    《访问图像中每个像素的值》,这是之前写的了,用的也是2.0的风格IplImage*格式,不太适用后来Mat的格式,特此重写一篇。 以下例子源自《The OpenCV Tutorials --Release 2.4.2》2.2 How to scan images, lookup ...
  • 本文介绍了Android UI设计像素相关的一些概念,并着重讲解的dp的原理和作用。 1. 概念 在Android UI设计总离不开长度,例如一个button的长宽各是多少,两个控件之间的间距是多少。UI是显示在屏幕中的,屏幕有自己...
  • 洗澡的时候突发奇想,2D游戏里像素是比较简单的绘画风格,但是经常除了人物外,还有一堆乱七八糟的方块比如泥土啊,墙壁啊之类的方块,这些方块如果手画,不仅不具备随机性,而且画起来也很繁琐。因此想到,能不能写...
  • 用代码生成Glitch Art风格的抖音字体

    千次阅读 2018-05-04 09:55:52
    最近看到不少文章教大家用 photoshop 实现抖音的 logo 跟字体,我也非常喜欢这种风格的字体,于是趁着晚上的时间,动手用代码实现了下此类风格的字体特效,顺便开发了个小工具,地址见文末...抖音 logo 这种设计手法...
  • 风格迁移网络

    千次阅读 2019-01-02 14:58:57
    生成网络是将输入图像进行风格迁移后输出,损失网络用以计算生成图像的内容损失和风格损失。 对于生成网络,本质上是一个卷积神经网络,但不采用池化层,取而代之的是用步幅卷积或微步幅卷积做网络内的上采样或下...
  • 【OpenCV】访问Mat图像中每个像素的值

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,622
精华内容 9,048
关键字:

像素风格设计