unity3d游戏开发之商人模块开发心得

图0

好啦,闲话不多说,让我们开始吧~

图1

这里还是要点名道姓的肯定一下泡菜童鞋,图1中的这部分预设是我刚接手时,搭的,结构如下:

●UI_Shop:整个商店的父物体

●shop_bg:商店的棕色底板背景

●shop_title_bg:横幅商店两个字,包括横幅本身

●shop_head:希娜商店妹子头像

●shop_refresh_Button:刷新按钮

●backbt:返回按钮

●shop_product_bg_00:商品编号00

●shop_product_bg_01:同上

●shop_product_bg_02:同上

●shop_product_bg_03:同上

●shop_product_bg_04:同上

●shop_product_bg_05:同上

没错,不信,我们就来分析商店里的商品需要哪些美术素材。

商品美术素材包括:

品质外框(如

品种图标(如



)【
工作量略大】

分类小图标(如

cost图标(如

光搜集这些素材费了哥们儿九牛二虎之力啊,纯爷们儿~这还只是第一步,

接下来,在素材够用的情况下,我们开始搭建预设。

呀,如果Declan老湿没有猜错的话,肯定有细心的小蛮牛会发现:

物品的icon基本是长这样子的————>
,是四边的。

而诸如“碎片”或者“灵魂石”的品质外框是类似酱紫————>
,一对角被裁剪的。

“两张图重叠的话,超出外框的部分,该怎么办?”如

“如果只是缩小物品icon的scale,即使强行不超出外框,但是整个UI看上去会镂空的,怎么办?”如

如果电视机前的观众朋友们...呃,不对...是显示屏前的新手读者们也遇到的类似的问题的话,别担心也无需害怕,那只是因为我们新手由于涉世未深且经验不足,缺少遮罩Mask的概念。

图2

那么,所谓遮罩,在unity里如何实现呢?

图3

如图所示你需要创建一个材质球,并将之着色器选择为我们写的Shader脚本,然后将英雄图标拖到Base项,带Alpha通道的fragment遮罩图标拖到Culling Mask上就可以了。代码如下:

  1. Shader "Custom/DepthMaskShader" {
  2. Properties
  3. {
  4. _MainTex ("Base (RGB)", 2D) = "white" {}
  5. _Mask ("Culling Mask", 2D) = "white" {}
  6. _Cutoff ("Alpha cutoff", Range (0,1)) = 0.1
  7. }
  8. SubShader
  9. {
  10. Tags {"Queue"="Transparent"}
  11. Lighting Off
  12. ZWrite Off
  13. Blend SrcAlpha OneMinusSrcAlpha
  14. AlphaTest GEqual [_Cutoff]
  15. Pass
  16. {
  17. SetTexture [_Mask] {combine texture}
  18. SetTexture [_MainTex] {combine texture, previous}
  19. }
  20. }
  21. }

复制代码

显示效果如4所示

Ok,Shader也并非本篇文章的重点,简单的讲解之后,我们开始言归正传。文章出处【狗刨学习网

其实Unity新的UI系统——UGUI已经给我们做好了类似的组件,如图5

图5

用法:直接把这组件添加到你需要实现遮罩的带Alpha通道的icon就可以了。

那么,在知晓了遮罩的概念,以及Mask组件的用法之后,我们再来看单个商品预设的层级关系结构就更加思路清晰明了了。如图6

图6

如上图所示,预设层级结构关系为:

●shop_product_bg:是单个商品预设,父物体。

●Goods:是具体物品预设的父物体

●full:是如上图短棍、经验药水之类的完整物品

● chip:是如长笛卷轴碎片之类的碎片或者灵魂石的非完整物品

● chip_mask:除了image组件外还加入了Mask组件

●cardIcon:是具体的物品icon

●kind:是如碎片(黄色)或者灵魂石(紫色)的icon

●count:是本物品的具体数量

●Title:为商品名

●Cost:为购买该商品所花费的具体数值

●Image:为Cost种类(如金币、晶钻等等)

●SoldOutImage:为购买完毕后会显示的售罄icon

时间: 2024-08-05 16:19:59

unity3d游戏开发之商人模块开发心得的相关文章

Drupal8开发教程:模块开发——创建新页面

之前我们已经通过<Drupal8开发教程:认识.info.yml文件>对模块的YAML文件有了了解,今天我们来看如何通过模块开发的方式添加一个新的页面. 在 Drupal 7 中,通过模块添加新页面非常简单,使用 hook_menu 定义路径及回调函数返回要显示的结果即可.但 Drupal 8 却要麻烦很多,虽然也是定义路径,然后关联用于显示内容的函数,但却要在两个文件中分开进行.而且 Controller 文件还有目录结构要求,这些变化都需要慢慢来适应了. 除了上文中定义的 hello_wo

js 模块开发之一(模块开发价值)

首先引用我们的今天的主角 ----<前端模块化开发的价值> 1,前端开发最常见的两个问题 ---命名冲突和文件依赖 2,对于命名冲突的基本解决办法就是学习其他语言的习惯,添加命名空间 var org = {}; org.CoolSite = {}; org.CoolSite.Utils = {}; org.CoolSite.Utils.each = function (arr) { // 实现代码 }; org.CoolSite.Utils.log = function (str) { //

asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发3-登录模块开发

进行本文之前需要在数据库用户表里面增加一条用户数据,直接手动添加即可,未安全考虑密码一定要使用Md5加密后的,这里提供666666的Md5密文为(c831b04de153469d),本文完成登录模块的开发工作,登录页面设计将采用Div+Css简单进行设计,最终效果图如下: Mvc一个页面模块至少要实现C层的逻辑代码跟,V层的页面代码,在浏览器访问地址时执行C层代码,在呈现页面,具体创建流程如下: 一.登录C层(Controllers)创建 1.创建Login控制器类 在解决方案管理器Contro

Unity3D游戏开发软件破解版安装

怎么获取Unity3D游戏开发软件,笔者在这里就告诉大家一个小技巧,有兴趣的朋友可以继续往下看. 下载Unity3D当然要到官网(建议用迅雷下载),安装后还需要注册,这里就建议大家根据实际情况考虑啦!如果是自己学习研究用,就没必要去购买,完全可以用破解版本;如果是公司开发用,还是买一个为好.注:Unity3D是按功能模块收费的. 没注册过Unity3D游戏开发软件的朋友,可以跟着以下步骤注册.这里我会提供一种破解法,需要破解版安装包的朋友请到菜鸟在线官网上注册并联系客服获取. 1.打开Unity

unity3D游戏开发之边锋(杭州)聘:游戏策划/设计/U3D/测评/文案等

杭州边锋网络技术有限公司简介 杭州边锋网络技术有限公司创建于1999年,2004年整合入盛大网络旗下.2013年浙报传媒斥资32亿元收购边锋,边锋现为浙报传媒旗下全资子公司. 一直以来,边锋致力于打造以互动休闲娱乐内容为核心的多终端垂直型交互社区,秉承"乐趣.亲切.进取.创新"的原则,倾力为所有国人打造集休闲.娱乐.社交于一体的互动娱乐平台.边锋以在线棋牌.电子竞技平台.桌面游戏.无线终端为四大主营业务,旗下拥有边锋游戏.游戏茶苑.浩方电竞.三国杀等众多知名品牌,均是各自所处领域中的领

unity3D 游戏开发之工程代码框架设计思路MVC

unity3D 游戏开发之工程代码框架设计思路MVC 设计目的 1.使工程结构更规范. 2.提高代码可读性,封装性,拓展性 3.提高工作效率. 正文内容: 1.Frame的组成结 (1)视图层(View) (2) 控制层(Control) (3)数据层(Model) 整个Frame是由这三个部分组成,每一层管理属于自己的逻辑,核心思想是游戏逻辑和UI 逻辑独立开.目前遇到的项目工程大多数View和Control逻辑都写在一起,这样后期修改 和维护效率会很低,因为耦合性很高而View又是经常要修改

Unity3D游戏开发之粒子系统实现详解

 今天为大家分享的是Unity3D中的粒子系统,粒子系统通常用来表现烟雾.云等高级效果,是一个十分注重制作技巧的部分,今天我们将以一个气泡的演示实例来一起学习如何在Unity3D中使用粒子系统.首先我们创建一个Unity3D项目,然后我们导入官方提供的粒子系统资源包,如下图: 接下来,我们创建一个粒子对象,如图所示: 接下来我们在属性面板中完成对粒子系统的设置,我们通过一张图来介绍这个属性面板: 接下来,我们单击Renderer,以设置该模块的Material属性,我们将官方提供的SoapB

Unity3D游戏开发之网络游戏服务器架构设计培训

下面我们开始今天的Unity3D游戏开发技能培训. 我们专业培养"游戏主程",挑战20W年薪,初期学习Unity3D培训目标:让U3D初学者可以更快速的掌握U3D技术,自行制作修改素材,可以独立完成2D.3D小规模游戏及网页游戏开发. 今天给大家讲一下如何做一个好的主程 入手 假如,我现在接手一个新项目,我的身份还是主程序.在下属人员一一到位之前,在和制作人以及主策划充分沟通后,我需要先独自思考以下问题: 1.服务器跑在什么样的操作系统环境下?2.采用哪几种语言开发?主要是什么?3.服

APP定制 HTML5开发 UNITY3D游戏开发 Mac软件外包

APP定制 HTML5开发 UNITY3D游戏开发 Mac软件外包 app软件开发带给企业哪些价值? APP现在对于很多人都不在是陌生的词语,而是用户智能时代的快捷应用.智能手机大范围普及的时代,事物移动化已经成为业界共识. 1.APP软件开发帮助企业实现精准营销.APP将企业的最新信息快速精准的传达给目标客户.例如,公司最近的新产品上市或优惠促销活动等信息,都可以通过手机APP第一时间传达给客 户,这种传达方式,既精准又有效.2.信息传播随时随地.手机APP传达给客户的信息不会因为时间或者是空