- 博客(39)
- 资源 (1)
- 收藏
- 关注
转载 Shader水涟漪效果
不得不说,水涟漪效果的确很棒,在这里有个基于Unity和UGUI的水涟漪效果,我再移植的时候遇到了UGUI的画布要比NGUI大很多倍的问题http://www.manew.com/thread-92365-1-1.html在这个网址里,有着完整的代码和场景,其中最核心的就是Image(1),他用来实现水涟漪效果,但是背景也是不可缺少的.此外一共有样是核心:shader和算法和场景.
2017-08-29 20:21:24 6605
原创 TrialReneder特效的编程
1.实现跟随鼠标移动绘制public List Trails;void Update () { Trails.ForEach(a => a.Emit = true); transform.position = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, I
2017-08-29 17:08:20 398
原创 Shader套用公式
原谅我,不是很懂这些公式的含义,所以用这个土方法,我想应该有不少人都是这样的,下面的步骤对应是在什么地方做这些动作1. struct a2v{};(application to view)2. struct v2f{}3.v2f vert(a2v v){}4.fixed4 frag(v2f f){}一.转换坐标(必有)1 .float4 vertex:POSITION;
2017-08-28 08:38:52 623
原创 Mesh---mesh(fbx)的获取
通过加载prefab想要获取meshFilter上的mesh组件是失败的,在实例化后可以获取,但是这种做法毫无疑问是愚蠢的,目前我就用这种方法
2017-08-25 15:54:30 3397
原创 观察者模式Observer Pattern
//枚举类public enum State{ Game, NonGame}//抽象的目标namespace DesignParttern.CS.ObserverPattern{ abstract class Subject { protected List observers; public
2017-08-25 13:08:34 156
原创 编程细节综合
Console.Read()读取下一个字符,但是要注意的是,她是依次读取一个完整的字符串的第一个字符,他返回的是一个Ascii码(至少包含两个字符13 10)如果你想读取这串数字的所有字符,可以这样做while (true) { int a = Console.Read(); Console.
2017-08-25 09:56:56 182
原创 NGUI---图片的切换
1.如果想要实现切换图片效果,不单单是修改名称哦void _OnMusicSoundClick(GameObject go) { if (AudioManager.Instance.m_mute) { go.GetComponent().spriteName = "pic_音效开启"; go.Ge
2017-08-23 13:07:38 570
原创 NGUI控件---Slider滑动条
1.建一个空物体,贴上碰撞器,按钮,SLider,SliderColor2.添加背景图片Bg,和滑动图片Fg,还可以添加百分比指示器:Label->OnvalueChange:SetCurrentPercent(标记当前百分比
2017-08-22 17:02:51 1926
转载 控件的使用---ToolTip
NGUI自带的的例子Character中含有一个Tooltip,可以鼠标悬浮到某对象时显示提示文字。非常方便。创建UITooltip首先你需要在场景NGUi相机下建立一个空物体我把它命名为Tooltip,随意,NGUI-UI-UITooltip然后在其下添加一个Label和一个Sprite,Label是用来显示文字的,Sprite是背景图片设置Tooltip显示文字的颜色,
2017-08-22 12:45:33 3561
原创 综合---扩展方法集
//扩展字典方法public static class DictionaryExtension{ public static Tvalue TryGet(this Dictionary dict, Tkey key) { Tvalue value; dict.TryGetValue(key,out value); ret
2017-08-21 09:27:21 173
原创 UI框架
//UIRootpublic class UIRoot : MonoBehaviour { void Start () { UIManager.Instance._PushPanel(UIPanelType.MainMenu);}}//UIManagerpublic class UIManager {//:Monobehavior
2017-08-21 07:20:22 228
原创 控件的使用---UIInputField
步骤:(1)选择一个图片作为输入框背景,为其添加碰撞体和UIInput(InputField),,,inputLabel = GetComponent();(2)创建一个提示文本myLabel作为子物体(但是他也是输入文本)(3)将UIinput的Label设置为该输入文本myLabel注意点:1.提示信息是myLabel.text = "请输入"",你手动输入的值是input
2017-08-20 11:43:45 1175
原创 开闭原则
开闭原则:软件实体应当对扩展开放(增加新的类),而对修改源代码关闭,适用于:if(type=="pie") peichat.display();if(type=="bar") barChart.display()实现开闭原则的关键是实现抽象化,并且从抽象化导出具体化实现,我们通常添加抽象层来实现,适用于:下面是我模仿写的代码://采用开闭原则,就是不一样publ
2017-08-19 21:29:56 419
原创 ProtoBuf---基本使用
0.前置条件using ProtoBuf;[ProtoContract]public class User{ [ProtoMember(1)] public int ID { get; set; } [ProtoMember(2)] public string Username { get; set; } [ProtoMember(3)
2017-08-17 17:40:39 560
原创 综合---有限状态机实例(附带普通状态模式)
1.枚举的切换条件//有哪些状态切换条件public enum ETransition{ NullTransition =0, SawPlayer,//看见主角 LosePlay//丢失主角}2.枚举的所有状态(唯一状态)//状态id,表示有哪些状态,每一个状态的唯一标志,public enum EStateID{ Nul
2017-08-17 14:04:34 892
原创 综合---制作本地化脚本
1.制作一个本地文件,我们通过键值对的形式存取,所有文件的键必须是相同的键例如:start=开始 start=startquit=退出 quit=quit2.创建一个本地化文件管理类LocalizationManager,用来加载某种语言的脚本public class LocalizationManager{ //我觉得是可以对这个管理器做一下扩
2017-08-15 19:07:19 369
原创 ---Audio编辑器制作步骤
1.由于要制作编辑器,肯定是要绘制的,所以先引入using UnityEditor;(我们视情况而定,可能用到GUILayout和EditorGUILayout)2.流程:(1)在扩展界面输入音频名和路径-->(2)通过一个字典进行方便的操作,并且对那些需要更改的操作存储到文本中,方便再次读取(3)-->通过音频管理器加载音频并对音频进行操作一共需要两个脚本,一个编辑器脚本(AudioWi
2017-08-14 15:19:48 571
原创 Light---加载场景无灯光原因
1.首先只是在编辑器才可能无灯光,导出是正常的,但是由于给我们调试带来不便,我们决定修改他原因如下:选择的光照是GI realtime实时光照,编辑器在当前场景时,它的灯光是已经渲染好了,但重新加载的时候灯光没有进行渲染解决方法一如下:Window>>lighting>>Scene面板>>右下角build按钮前,取消勾选auto,这时候是没有烘焙灯光的情
2017-08-13 16:30:36 1465
原创 Regex---正则表达式的坑爹例子
//坑爹的s[0]为""string str = "3,path:Audio/1"; if (str != null && str != "") { string[] s = Regex.Split(str,m_pattern); foreach (string item i
2017-08-12 15:22:45 190
原创 OnGUI---EditorWindow中的OnGUI事件
我们通过EditorWindow创建了一个面板,那么系统在什么时候会对面板进行更新操作呢?包括但不限于:1.通过脚本绘制面板或对面板属性进行操作2.通过鼠标的点击事件,OnHover事件,拖拽等(调用两次)
2017-08-12 14:47:36 2708
原创 EventDelegate---如何绑定事件
1.绑定Uiinput的回车事件(1).将含有Uninput的m_printLabel.空间中OnReturnKey的value赋给Submit(2).void Start(){ EventDelegate.Add(m_printLabel.onSubmit, SubmitKey);//m_printLabel(某个就有UIInput的组件}(3).public
2017-08-10 21:04:09 513
原创 Itween---综合
Itween的easeType的各种类型动画演示http://www.robertpenner.com/easing/easing_demo.html
2017-08-09 21:31:19 299
原创 json,Xml的使用
1.命名空间using System;2.如果某类的一些对象不需要序列化,则标明[NonSerialized]3.如果该类有一些不能被解析的类型,如枚举类型,则可以这样做:4.如果一个类是可序列化类,则标明[Serialized]
2017-08-09 09:04:34 194
转载 综合---专业版Unity技巧分享:使用定制资源配置文件:制作一个对象池
使用定制资源配置文件,可以配置对象池http://www.360doc.com/content/14/0323/13/12282510_363016017.shtml
2017-08-09 08:53:14 468
原创 Unity---脚本生命周期详解
转载请标明连接和姓名,请尊重一叶子9527的劳动成果.自己编程亲测,不会出问题(嘻嘻)一个GameObject可以设置:SetActive = true;//物体是活跃状态,false:物体不活跃一个组件可以设置:SetEnable = true;//被启用的;false:被禁用的void Awake()//1.只会被执行一次,如果挂载这个脚本的物体是活跃的或者在别人的Awak
2017-08-07 19:57:50 652 1
原创 设计模式---unity中的单例模式
我们有一个继承自MonoBehaviour的类是用来做对象交互动作的,想做成单例的,写成通用的方法报错.private static WordParse instance;void Start()//进行初始化操作 { instance = this; }public static WordParse Instance() {
2017-08-07 16:57:49 232
转载 vs2015常用快捷键总结(转载自邵_金波)
转载自邵_金波http://blog.csdn.net/qq395537505/article/details/518975661.回到上一个光标位置/前进到下一个光标位置1)回到上一个光标位置:使用组合键“Ctrl + -”;2)前进到下一个光标位置:“Ctrl + Shift + - ”。2.复制/剪切/删除整行代码1)如果你
2017-08-07 11:43:40 324
转载 Camera---获得摄像机的视口区域(转载大神雨松MOMO)
本文固定链接: http://www.xuanyusong.com/archives/3036转载请注明: 雨松MOMO 2014年07月31日 于 雨松MOMO程序研究院 发表摄像机分为两种,一种是正交摄像机还有一种是透视摄像机。正交摄像机无论远近它的视口范围永远是固定的,但是透视摄像机是由原点向外扩散性发射,也就是距离越远它的视口区域也就越大。那么我们如何获取距离摄像机任意距离的视
2017-08-06 22:08:51 926
原创 Camera---基础属性及注意点
Field Of View:这个是用来调节视野的,如果fov越大,那么观察到的天空和越近,物体也越容易变形,反之则越远,越不变形
2017-08-06 21:59:08 301
原创 Camera---多个Camera协同渲染
我在做游戏时遇到问题,需要两个摄像机协作:主摄像机观察主场景,副摄像机观察天空盒:其中主摄像机的设置应该为DepthOnly,Depth=-1;副摄像机设置为:Culling mask = SkyBox ,layer = SkyBox;正交视野
2017-08-06 21:53:10 1563
原创 综合---小知识点
1.让每一次创建的脚本为空脚本修改:安装目录\Editor\Data\Resources\ScriptTemplates中的默认脚本文件.同理,对某个模板文件进行初始化批操作也可以这样做哦.如修改行尾为CLAR.2.在游戏场景进行切换的时候,list里面的资源是不清空的,也就是说你只需要加载第一次就可以了.3.让一个物体面向你左右旋转和上下旋转,一种最简单的方法就是建立一个父物体,
2017-08-05 13:21:49 271
原创 Debug---Warn警告
1:There are inconsistent line endings in the 'Assets/Scripts/Contorller/UpdataScoreCommand.cs' script. Some are Mac OS X (UNIX) and some are Windows.This might lead to incorrect line numbers in st
2017-08-05 13:10:25 467
转载 Json文件打包找不到的问题(请看标号6)
转载了大神雨松momo的他这里列举出手游开发中用到了所有特殊文件夹。链接:http://www.xuanyusong.com/archives/3229Unity3D研究院之手游开发中所有特殊的文件夹 - 雨松MOMO程序研究院 - 11.EditorEditor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor就可以。比如目录:/xxx
2017-08-02 16:57:04 1705
转载 Light---一个物体阴影的影响要素
转载自马小李的博客http://blog.sina.com.cn/u/1822488043最近开始接触学习些Unity3D的基础知识,在做小项目的时候,出现了个问题,发现在场景中添加了灯光后,照在物体上的灯光,没有产生相应的阴影,经过查找后,解决办法如下:首先,产生阴影的,分为三个部分,分别是光源,被照射物体,阴影投影所在GameObj,对应解决办法1.检查光源设置,光
2017-08-01 19:14:44 373 1
原创 UdpClient(数据报)
1.服务器端static void Main(string[] args) { UdpClient udpClient = new UdpClient(new IPEndPoint(IPAddress.Parse("192.168.0.100"), 7788)); IPEndPoint ipendpoint = new IP
2017-08-01 14:39:16 681
原创 TcpListener(服务器)和TcpClient(客户端)
一.服务器static void Main(string[] args) { //1.声明一个listener:套接字和接口都绑定好了 TcpListener listener = new TcpListener(IPAddress.Parse("192.168.0.100"), 7788); //
2017-08-01 14:31:12 7933
原创 UDP编写流程
一.服务器端1.声明一个套接字static Socket udpServer = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);2.绑定一个IP和端口号udpServer.Bind(new IPEndPoint(new IPAddress(new byte[] { 192,
2017-08-01 14:18:20 1155
原创 Tcp编写流程
一.服务器端1.声明一个套接字Socket tcpServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);2.声明并绑定一个IP和端口,建立连接IPAddress ipaddress = new IPAddress(new byte[] { 192, 168, 1,
2017-08-01 14:07:05 637
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人