Unity3D在NGUI中使用mask】的更多相关文章

过程是这样的:最近一直想做一个头像的mask效果,后来发现原来unity的mask需要用shader来写,网上找了不少资料,也能实现,不过大多数都是用render texture作为相机投影的texture.然后把这个相机的图像作为一个material,然后在ngui中创建一个texture,把这个material赋给texture.怎么说呢,这种方式虽然也能实现,但是必须要创建一个相机,对于一个大型项目来说有点不切实际.一个头像加个mask多简单的一件事,肯定有更好的办法. 最终还是找到了一种…
  关于<Thinking in Unity3D> 笔者在研究和使用Unity3D的过程中,获得了一些Unity3D方面的信息,同时也感叹Unity3D设计之精妙.不得不说,笔者最近几年的引擎研发工作中,早已习惯性的从Unity3D中寻找解决方案. Unity3D虽比不上UE那么老练沉稳,气势磅礴.也比不上CE那样炫丽多姿,盛气凌人.但它的发展势如破竹,早已遍地生花!故而在此记录一些自己的心得体会,供大家参详交流.若有欠妥之处,还望各位及时指正.   Thinking in Unity3D由一…
前话 在许多类型游戏中我们经常会使用到背包,利用背包来设置相应角色属性,多了背包也会让游戏增色拓展不少. 那在Unity3D游戏开发中该如何编写背包系统呢?因为有高人开发了NGUI插件,因此我们进行简单编写代码设置即可实现一个简单的背包功能了. 准备工作 新建一个工程PackageDemo 导入NGUI包(最新版3.9.8版的正版89刀) 准备好图片素材,使用NGUI将其打包成图集 背包 背包格子 物品 简单背包功能实现 第一步,添加NGUI控件,使用素材 项目目录以及场景列表如下: 要注意的是…
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 喜欢我的博客请记住我的名字:秦元培,我的博客地址是blog.csdn.net/qinyuanpei. 转载请注明出处,本文作者:…
0x00 前言 关于TDD测试驱动开发的文章已经有很多了,但是在游戏开发尤其是使用Unity3D开发游戏时,却听不到特别多关于TDD的声音.那么本文就来简单聊一聊TDD如何在U3D项目中使用以及如何使用U3D 5.3.X之后版本已经集成的单元测试模块Editor Test Runner. 0x01 你好,TDD TDD,测试驱动开发改变了我们常见的工作流程,不要求先写逻辑代码,反而要求先完成测试代码.待测试代码完成之后,我们再将目光转移到逻辑代码,根据测试的要求,完成逻辑代码,使之能够通过经过拆…
ngui中 代码调用按钮事件 好烦人啊这个问题, 我弄完发上来 这个问题解决了一半 发现可以用 按钮绑定来解决这个问题,并且更安全方便快速 直接在按钮上添加一个 key binding 指定按键 搞定 不过看了一下源代码,好像这个binding实际上就是一个委托,哈哈,这样实际上两个问题都解决了@.@ using UnityEngine; /// <summary> /// This class makes it possible to activate or select something…
一些废话 每一篇的首段都是这个“一些废话”,原因是我太能逼逼了,不逼逼一些废话我就觉得难受.这是我第四篇关于Unity的博文,前两篇还是去年写的,“从一点儿不会开始”系列,类似教程和学习笔记的博文,这个系列还会继续的,我没有太监...如果真的有朋友觉得能因此得到一点点的帮助,那就太太开心了. 最近在(shan)做(zhai)一个小游戏,UI刚开始用的是原生2D,用着用着发现NGUI似乎更省事儿(“为什么刚开始你不用NGUI?”“我擦我刚开始那会儿还不会好么...”),然后之前原生2D写的又不想完…
文字渐变效果:图层中的mask属性 本次文章,主要讲述的是图层中的mask属性,利用它,可以做出文字渐变效果! 一.文字渐变效果: 二.文字渐变实现思路: 1.创建一个颜色渐变层,渐变图层跟文字控件一样大. 2.用文字图层裁剪渐变层,只保留文字部分,就会让渐变层只保留有文字的部分,相当于间接让渐变层显示文字,我们看到的其实是被裁剪过后,渐变层的部分内容. 注意:如果用文字图层裁剪渐变层,文字图层就不在拥有显示功能,这个图层就被弄来裁剪了,不会显示,在下面代码中也会有说明. 2.1 创建一个带有文…
unity版本 4.5.1 NGUI版本 3.6.5 通过NGUI中的Anchor设置按钮位置. 1.首先用NGUI创建两个按钮,按钮的创建在Hierachy窗口中必须按如下形式: Anchor用于确定控件在屏幕中的位置: 对比两张图可以看到,Game Scene拉伸左侧时,两个按钮会消失掉:    2.我们就需要解决适应分辨率的问题: 在Hieraphy中选中Anchor,右侧又出现属性框: 上面红色方框中的Side即表示对齐的位置,这里两个按钮放置在右下角,我们把Side置为Bottom R…
简介 马三最近换到了一家新的公司撸码,新的公司 UI 部分采用的是 NGUI 插件,而之前的公司用的一直是 Unity 自带的 UGUI,因此马三利用业余时间学习了一下 NGUI 插件的使用,并把知识点记录成博客与大家分享. 在我们使用 NGUI 插件创建的 UI 中,可以发现 UIRoot 物体和 Camera 物体上面都带有 NGUI 特有的脚本组件,其中 UIRoot 物体上面带有 UIRoot 和 UIPanel 两个组件,而子物体 Camera 带有一个 UICamera 组件,这三个…
先列出转载链接: http://game.ceeger.com/forum/read.php?tid=8917 转载原文: 问题源自一个帖子,因为上传的图比较多,就另开了这个贴写下自己的试验结果,原帖在下面链接中http://game.ceeger.com/forum/read.php?tid=8911#infoNGUI中是用depth来控制sprite显示顺序的,本来这很好用,但碰到上面帖子中的问题时却不好解决了,于是我试验了下.以下是一些总结,不对的地方请指正.下面的内容可能看起来比较绕,这…
using UnityEngine; /// <summary> /// NGUI中 鼠标划出屏幕后,停止对 UIDragScrollView 的 press /// </summary> public class CheckIsDragOverUI : MonoBehaviour { UIDragScrollView dragSV = null; void Start() { if (null == dragSV) dragSV = gameObject.GetComponent…
博主是跟着视频教程学的,所以最新版的u3d是否已经自带这个功能博主没有考究过. 但是视频是2015下半年的教程,当时的u3d还是需要自行导入NGUI包的. 1.首先需要下载NGUI包.点此进入ngui3.9.0下载页 2.下载后将该文件导入Assets,可以直接拖入,也可以在Assets 中右键,Import Package>Custom Package,如下图所示: ps:可能会提示API Update Required,我选择了No Thanks. 3.将控件栏中默认的Main Camera…
http://www.cocoachina.com/ios/20150716/12571.html 前言 已经很久没写blog了,最近发生了太多事情,失去了生命中一位很重要的成员,使我不得不放下对技术的狂热.直到在6月6日当天,我决定加入一个正在朗朗升起的初创公司[小码哥],如同小码哥的宗旨,一切从“心”开始,希望让每一位来小码哥的朋友都能收获一份满意的答卷.当然还有一个更重要的原因,就是小码哥的创始人,李明杰,因为他,我完成了对别人的3年之约,让他在生命的最后的一段时间内,能看见他的儿子有现在…
英雄联盟(撸啊撸) QQ飞车 魔兽世界等等相信大家都玩过游戏吧,玩过那UI知道是什么吧?UI可能说得有点专业的话那么游戏中那些属性面板例如: 现在对UI有一定认识了吧!回想一下您玩过的游戏就一定知道什么是UI了.这是您一定会问那NGUI又是什么呢?这个问题问得好? 我先来介绍一下Unity3D自带的UI层. 在Unity3D中原始就提供一套UI框架,但是由于性能特别差,用起来不是那么的方便和顺手(您可以自己去研究一下自带的UI会发现很多好玩的).在这样的情况下衍生出很多第三方的UI插件.目前公司…
前几天同事做了一个效果,希望在原本使用了遮罩组件 Mask 的技能图标(让技能图标变成圆形)上在添加一个置灰的功能,但问题来了:因为是动态根据游戏中玩家的条件才动态置灰,以修改 Mask 下子节点 Image 组件的材质来实现的,但是实际上怎么修改也不起作用,呈现出的效果都只停留在第一次运行时的样子. 一开始我也以为是 shader 的问题,修改的 property 没有生效,但是通过各种测试发现 shader 是已经修改成功的了.就是没有应用上,在查阅了各方资料无效果的情况下只能翻阅 unit…
http://gamerboom.com/archives/36432 作者:Richard Fine Unity3D的方便之处在于,它很容易地扩展编辑器套件.每款游戏都对加工有着不同的需求,可以快速地以完全集成的方法来构建这些内容并极大地提升开发速度. 目前有大量复杂的软件包提供以基本Unity功能套件为基础的复杂工具,从视觉脚本编辑器到编辑器内导航网格生成.但是,有关如何自行构建此类事物的程序说明却很少.我将在下文列举某些在自己的工作中总结的编辑器定制相关信息. Unity-Window(f…
一.先看下效果 Prefab结构 二.实现思路: 1.prefab上的Panel层级设置成较高 2.背景由5个UISprite拼接起来的,4个(L,R,U,D)当作遮罩,1个镂空(Hollow)当作点击触发(全部都有BoxCollider,并且都生效,有人会问这不就把后面的按钮也给拦截住了,后面会说为什么要这样) 3.4个遮罩的大小由Holow大小决定 4.Hollow绑定一个点击事件ClickCenter  (后面代码里有) 三.关键部分: 这里解释为什么上面要把Hollow也带上BoxCol…
1:天空盒有接缝怎么解决?答:在贴图导入设置里设置Wrap Mode为"Clamp". 2:DDS格式怎么不显示?答:Unity不支持DDS格式,Unity会将除DDS外的其他格式图片具有为DDS同样的优化. 3:Unity如何动态载入外部模型等文件?答:可以使用AssetBundle:http://unity3d.com/support/docum ... ce/AssetBundle.html 4:脚本编辑器有语法提示吗?答:有的,Win版使用Ctrl+I,Mac版使用Ctrl+&…
用Unity3D制作基于web的网络游戏,不可避免的会用到一个技术-资源动态加载.比如想加载一个大场景的资源,不应该在游戏的开始让用户长时间等待全部资源的加载完毕.应该优先加载用户附近的场景资源,在游戏的过程中,不影响操作的情况下,后台加载剩余的资源,直到所有加载完毕. 本文包含一些代码片段讲述实现这个技术的一种方法.本方法不一定是最好的,希望能抛砖引玉.代码是C#写的,用到了Json,还有C#的事件机制. 在讲述代码之前,先想象这样一个网络游戏的开发流程.首先美工制作场景资源的3D建模,游戏设…
需求 unity3d的3d开发环境中,原生自带了Navigation的组件,可以很便捷快速的实现寻路功能.但是在原生的2d中并没有相同的功能. 现在国内很多手机游戏都有自动寻路的功能,或者游戏中存在一些例如机器人.npc等,都需要自动寻路的功能. 我需要实现的功能类似于当年FC游戏中淘金者的运动方式.游戏中有淘金者.敌人,可移动,不可移动区域,只能沿着直线的向前向后或者向上向下. 思路 unity3d中也有一些2d寻路的插件.例如A Pathfinding Project Pro和NavMesh…
UIAnchor的功能是把对象锚定在屏幕的边缘(左上,左中,左下,上,中,下,右上,右中,右下),或缩放物体使其匹配屏幕的尺寸. 在1.90版本后,拉长(缩放)的功能被放到UIStretch中,UIAnchor的功能更单一了,就是给对象定位. 借用<[Unity插件]NGUI核心组件之UIAnchor>文章中的内容: NGUI:UIAnchor Anchor脚本可以用来实现多个目的,这些在Example0里面都有用到. 1. 只要提供一个half-pixel偏移量,它可以让一个控件的位置在Wi…
UIRoot是NGUI控件的根节点,使用是根据屏幕尺寸自动(或手动)调节节点下子控件的大小. 这个组件声明了在编辑模式下运行:[ExecuteInEditMode],在Inspector编辑修改属性值时,可以直接影响控件. UIRoot有两个开放属性: Automatic: bool ManualHeight: float 在Inspector中,如果Automatic为true,则自动调节:如果是false,则可以手工调节ManualHeight. 调整时可以直接看到控制尺寸的变化. //--…
(以后,参考链接和作者将在文章首部给出,转载请保留此部分内容) 参考链接:http://www.narkii.com/club/thread-299977-1.html,作者:纳金网 比巴卜: 参考链接:http://game.ceeger.com/forum/read.php?tid=2852,作者:Unity圣典论坛 kuku小夭 动态添加和删除Sprite可以在很多地方用到,这里以实现显示技能CD时间来为例,CD的时间是以sprite来显示的,当然CD时间以文本显示更为合理,这里只是作为例…
Icon&port %%外型图表封装 %%.曲线型标注: plot(cos(:*pi),sin(:*pi)) %%.文字型标注: disp('PID\n控制器') %%.曲线加文字型标注: plot(cos(:*pi),sin(:*pi)) disp('PID\n控制器') %%.图像型标注: image(imread('sdu.jpg')) %%.传递函数型标注: droots([-],[- -], ,'z') %%zpk传递函数模型 Parameters Initialization 当打开…
前文说到碰撞检测时候,不要在Update内部尝试移动GameObject 来检查碰撞检测,这样是徒劳无功.但是 说到 因为你移动的过程中其实并没有将实际的移动位置更新到物理引擎,只是做了个缓存而已, 只有在调用FixedUpdate的内部函数(物理引擎处理)时,才会将最新的位置设置到物理引擎上,甚至是渲染引擎也使用最新的位置. 其实是有问题的,因为我发现每次移动都会导致 碰撞器不断更新 下面是测试代码: ; // Returns true if you were able to move, fa…
帧同步技术是早期RTS游戏常用的一种同步技术,本篇文章要给大家介绍的是RTX游戏中帧同步实现,帧同步是一种前后端数据同步的方式,一般应用于对实时性要求很高的网络游戏,想要了解更多帧同步的知识,继续往下看. 一.背景 帧同步技术是早期RTS游戏常用的一种同步技术.与状态同步不同的是,帧同步只同步操作,其大部分游戏逻辑都在客户端上实现,服务器主要负责广播和验证操作,有着逻辑直观易实现.数据量少.可重播等优点. 部分PC游戏如帝国时代.魔兽争霸3.星际争霸等,Host(服务器或某客户端)只当接收到所有…
在之前的文文里有说到,值类型和引用类型,那么这会就单独说下引用类型: Unity3D中的C#语言提供了专门的类型来为开发者提供使用C#开发游戏的便利条件: 在该引擎中,使用UnityEngine命名空间来盛放自己定义的类型.其中,UnityEngine.Object类该游戏引擎的C#脚本语言中最基本的类,也就是所有对象的基类.所有派生自该类的公开变量都会显示在监视器(Inspector)视图中. 该类提供的类成员: 字段 hideFlags 标识该对象是否被隐藏[我用的2017版本的,都返回的是…
你怎么确定一个Vector3,int,或float变量是否被分配了一个值?一个方便的方式就是使用可空类型! 有时变量携带重要信息,但仅仅有在特定的游戏事件发生时触发.比如:一个角色在你的游戏可能闲置,直到他被告知去一个指定的目的地. public class Character : MonoBehaviour {     Vector3targetPosition;       voidMoveTowardsTargetPosition()     {        if(targetPosit…
Unity3D/安卓封装SDK常用方法 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 IO -- - - IO流写入 - 读取 2 Toast -- - - 安卓中提示 3 Regular Expression -- - - 正则表达式 - - Unicode 转中文 支持 May Be -- 搞开发,总有一天要做的事! 1 IO -- - - IO流写入 - 读取 using System.IO;…