当前位置: 首页 > news >正文

软件界面设计的基本原则十堰seo排名公司

软件界面设计的基本原则,十堰seo排名公司,wordpress如何删除目录,甘肃疫情最新消息今天50例在做这个之前其实是想研究一下在Unity中交互雪的实现,交互雪顾名思义就是可以进行交互的雪,玩家角色从雪上走过时雪被踩凹陷的效果;交互雪的一种实现方案就是将地面看做一个画板,将玩家角色的躯体看做笔刷,将角色经过的…

 在做这个之前其实是想研究一下在Unity中交互雪的实现,交互雪顾名思义就是可以进行交互的雪,玩家角色从雪上走过时雪被踩凹陷的效果;交互雪的一种实现方案就是将地面看做一个画板,将玩家角色的躯体看做笔刷,将角色经过的路径绘制为一张图片并作为地面雪的高度图传给shader去进行处理,在实现这个之前对如何实现轨迹的绘制比较感兴趣,故而想先以绘画板为切入点,研究研究。

不过既然研究了,就做一个尽量完整的方案,我想要实现的绘画板应包含如下基本功能:

  • 1.笔刷大小调节
  • 2.线条颜色调节
  • 3.可以自定义笔刷形状
  • 4.可自定义线条纹理
  • 5.绘制的图片可存储至本地
  • 6.带橡皮擦功能
  • 7.可一键清空画板
  • 8.带撤销和重做功能

说干就干,先介绍一下开发环境:

Unity2022.3.30f1 + Rider

用什么版本和IDE无所谓啦哈哈,就是玩!

需要具备一定的unity基础(有一些基本操作就不一一截图了),和shaderlab基础,不需要太深,感兴趣的话可以跟着我一起来做。

技术路线选择

其实要实现绘画的功能有很多种实现方式,例如,可以使用Texture2D.SetPixel, Texture2D.SetPixels,也可以使用Unity提供的图形接口Graphics.DrawTexture,从执行效率上来讲,Graphics.DrawTexture的效率更高一些,Texture2D的相关接口通过遍历像素来实现效率低一些,且不方便实现我们想要的可自定义线条纹理和笔刷形状的功能,因此本文采用Graphics.DrawTexture来实现

源代码:

/// <summary>
///   <para>Draw a texture in screen coordinates.</para>
/// </summary>
/// <param name="screenRect">Rectangle on the screen to use for the texture. In pixel coordinates with (0,0) in the upper-left corner.</param>
/// <param name="texture">Texture to draw.</param>
/// <param name="sourceRect">Region of the texture to use. In normalized coordinates with (0,0) in the bottom-left corner.</param>
/// <param name="leftBorder">Number of pixels from the left that are not affected by scale.</param>
/// <param name="rightBorder">Number of pixels from the right that are not affected by scale.</param>
/// <param name="topBorder">Number of pixels from the top that are not affected by scale.</param>
/// <param name="bottomBorder">Number of pixels from the bottom that are not affected by scale.</param>
/// <param name="color">Color that modulates the output. The neutral value is (0.5, 0.5, 0.5, 0.5). Set as vertex color for the shader.</param>
/// <param name="mat">Custom Material that can be used to draw the texture. If null is passed, a default material with the Internal-GUITexture.shader is used.</param>
/// <param name="pass">If -1 (default), draws all passes in the material. Otherwise, draws given pass only.</param>
[ExcludeFromDocs]
public static void DrawTexture(Rect screenRect, Texture texture, Material mat)
{Graphics.DrawTexture(screenRect, texture, mat, -1);
}
[ExcludeFromDocs]
public static void DrawTexture(Rect screenRect, Texture texture)
{Graphics.DrawTexture(screenRect, texture, (Material) null, -1);
}

在下面的文章中我们会详细介绍该接口的用法。

http://www.dinnco.com/news/16251.html

相关文章:

  • wordpress自适应汉化主题江门搜狗网站推广优化
  • 如何免费申请公司网站网上广告怎么推广
  • 百度制作的wordpress工具青岛关键词优化报价
  • 港湾有巢网站建设上海推广网站
  • 门户网站开发意义外贸网站推广seo
  • 学校网站建设开题报告书seo的内容怎么优化
  • phpcms v9网站地图制作免费个人网站
  • 微信公众号客服24小时电话是多少seo超级外链发布
  • dede企业网站模板下载百度站长平台app
  • 武汉市江夏区建设局网站合肥网站关键词排名
  • 成都响应式网站建设互联网营销策划案
  • 做网站的图片口红的推广软文
  • 公司做零申报在哪个网站上什么叫网络市场营销
  • 网站怎样做反向链接怎样做线上销售
  • 石家庄外贸网站建设seo顾问收费
  • 调试网站解析域名影响百度快照搜索
  • 微网站开发微网站建设qq群推广引流免费网站
  • 网站建设综合实训网页设计需要学什么软件
  • 南京知名网站建设公司交换友链要注意什么
  • 网站制作公司咨询工作内容网站推广的作用
  • 雄县网站建设北京seo优化wyhseo
  • 建设银行官网网站员工招聘域名ip地址在线查询
  • 随州网站建设厂家互联网营销师
  • 金水区做网站营销网站建设流程
  • 苏州公司网站建设网站seo去哪个网站找好
  • 怎么免费建设金融网站抖音seo排名系统
  • iis 7.5 网站谷歌推广代理
  • 三亚网站建设哪家好企业网站seo案例
  • 合肥网站建设哪家好价格网站建设公司哪家好?该如何选择
  • python 做网站合适吗太极seo