2020
09-28
09-28
Unity Shader实现玻璃材质效果
UnityShader学习:玻璃材质,供大家参考。主要是通过反射和折射来达到透明的效果,用菲涅尔来混叠。shader部分:Shader"Unlit/Crystal"{Properties{_Cube("Skybox",Cube)=""{}//折射角度_EtaRatio("EtaRatio",Range(0,1))=0//菲涅尔系数_FresnelBias("FresnelBias",float)=0.5_FresnelScale("FresnelScale",float)=0.5_FresnelPower("FresnelPower",float)=0.5}SubShader{Tags{"RenderType"="Opaque"}LOD1...
继续阅读 >
UnityShader学习:相交算法实现简易防能量盾主要思路:对比物体和场景深度图在观察空间下的深度差值,深度差越小表示相交,颜色越深,在加上边缘光勾出轮廓。shader部分:Shader"Unlit/DepthOutline"{Properties{_MainTex("MainTex",2D)="white"{}_RimFactor("RimFactor",Range(0.0,5.0))=1.0_DistanceFactor("DistanceFactor",Range(0.0,10.0))=1.0_RimColor("RimColor",Color)=(1,0,0,1)_DistanceFactor2("DistanceFact...
本文实例为大家分享了Unity实现QQ列表折叠菜单的具体代码,供大家参考,具体内容如下主要用到了GUI的自动布局功能,VerticalLayoutGroup,注意ChildControlsSize和ChildForceExpand属性设置为Width效果:实现代码:///<summary>///折叠菜单///</summary>publicclassFoldPanel:MonoBehaviour{[SerializeField]privateGameObjectpanelItem;//折叠页[SerializeField]privateTitleItemtitleItem;[SerializeFi...
制作根据实时获取的数据动态改变的列表,UGUI的ScrollView已经封装好了基本的参数,总结一些值得注意的地方和动态生成列表的方法。在Canvas创建ScrollView后,基本结构如下。一.注意两点:1.Content下放自定义的列表内容,如这个item是名为“张三”的Button预制件。(制作为Button因为我的项目里需要点击列表项产生交互结果)2.如果是顶部固定,往下依次延伸的列表,Content和里边自己的item中心锚点要一致...
最近做项目的时候需要在游戏里截一张高清截图,研究了一下写成脚本,方便以后使用。脚本可以自定义分辨率,用相机截高清截图。可以用代码动态截图,也可以在编辑模式下截图。注意截图宽高比要正确,宽高比不正确时可能会出问题。截图效果:脚本:CameraCapture.csusingUnityEngine;usingSystem.IO;///<summary>///相机截图///<para>ZhangYu2018-07-06</para>///</summary>publicclassCameraCapture:MonoBehaviour{//...
本文实例为大家分享了Unity实现图片水印生成的具体代码,供大家参考,具体内容如下用于图片分享时添加logo水印的功能,之前用来做你画我猜的方法,核心是用Texture2D中的SetPixels方法具体实现如下效果图:上代码,比较简单不多说了usingUnityEngine;usingSystem.Collections;usingUnityEngine.UI;publicclassWaterMarkAdd:MonoBehaviour{publicImagetargetImage;publicSpritelogoSprite;publicSpriteimageSprit...
本文实例为大家分享了unity实现按页码翻页效果的具体代码,供大家参考,具体内容如下用来做背包商店的按页翻页功能,先上效果图其中,dragNum表示的是如果为3,便是滑动距离超过当前页面宽度的百分之三十位成功connect表示scrollRect下connet的大小然后是函数的初始化方法这里提供了两个方法 一个是直接提供页数参数分别代表总页数,要显示的页数以及切换到要显示的页数是否播放滑动动画以及当时用来做背包、商店的...
本文实例为大家分享了unity实现鼠标跟随的具体代码,供大家参考,具体内容如下需求:当鼠标放到cube上,然后移开鼠标cube会跟随鼠标移动。实现过程:首先在场景里新建一个plane(白色)和cube(黑色),这个cube就是用来跟随鼠标的物体,并且给cube添加标签tile。然后把下面移动代码拖到相机上。代码如下:usingUnityEngine;usingSystem.Collections;//鼠标跟随publicclasslinearmove:MonoBehaviour{publicGameObjectta...
本文实例为大家分享了unity实现UI元素跟随3D物体的具体代码,供大家参考,具体内容如下在Canvas不同的渲染模式(RenderMode)下实现UI跟随3D物体当Canvas.RenderMode为ScreenSpace-Overlay时利用WorldToScreenPoint(worldPos)将物体的世界坐标转换成屏幕坐标,实时更新UI的坐标:usingUnityEngine;usingSystem.Collections;publicclassFollowWorldObj:MonoBehaviour{[SerializeField]GameObjectworldPos;//3D物体(人物...
本文实例为大家分享了UnityUGUI实现滑动翻页,直接跳转页数的具体代码,供大家参考,具体内容如下首先看一下最终效果其实这个功能基本上是老生常谈了,所以代码还是很简单usingUnityEngine;usingSystem.Collections;usingUnityEngine.UI;usingSystem.Collections.Generic;usingUnityEngine.EventSystems;usingSystem;publicclassPageView:MonoBehaviour,IBeginDragHandler,IEndDragHandler{privateScrollRectrec...
本文实例为大家分享了UnityUGUI实现滑动翻页效果的具体代码,供大家参考,具体内容如下这个问题真的是老生常谈的事情了,不过在这里还是要说一下,以便以后之需首先看一下效果图最后在Content下面是一些ImageusingUnityEngine;usingSystem.Collections;usingUnityEngine.UI;usingSystem.Collections.Generic;usingUnityEngine.EventSystems;usingSystem;publicclassPageView:MonoBehaviour,IBeginDragHandler,IEndDr...
本文实例为大家分享了unity实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下首先创建一个头部,编写脚本利用WASD控制头部的移动。Vector3up=newVector3(0,1,0);Vector3down=newVector3(0,-1,0);Vector3left=newVector3(-1,0,0);Vector3right=newVector3(1,0,0);Vector3now;//头部实际前进方向floattimer=0f;floattimerGap=0.1f;voidStart(){now=up;}voidUpdate(){if(now!=up&&now!=...