最近开始实习了 然后我负责的主要工作就是UGUI的搭建 在没入职之前,我认为的我对UGUI的熟悉程度已经算是比较好的了 可能一般的问题都能解决 但是 我发现我的水平只停留在一般开发中,商用项目中的UGUI要求特别多 比如一行文本中固定间距 对其类型 等等等等 所以铁子们 还要加油呀正文开始Content Size Fitter这个组件里边只有两个参数 分别是Horizontal Fit 和Vert            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-17 10:16:59
                            
                                115阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            unity内置时间变量:_Time float4 t是自该场景加载开始所经过的时间 (t/20,t.2t.3t)_SinTime t是时间的正弦值 (t/8,t/4,t/2,t)_CosTime t是时间的余弦值(t/8,t/4,t/2,t)unity_DeltaTime dt是时间增量 (dt,dt/2,smoothDt,1/smoothDt)纹理动画序列帧动画顶点着色器中完成顶点变换与定点纹理            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-08 11:14:43
                            
                                122阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            内容会持续更新,有错误的地方欢迎指正,谢谢!创建Shader1.右键创建shader(如果想写顶点片元着色器就选Unlit Shader,如果想写表面着色器就选Standard Surface Shader,如果想写屏幕后处理着色器就选Image Effect Shader) 2.再创建材质Material,并将shader拖给材质 3.把材质拖给物体简单的顶点/片元着色器顶点/片元着色器的基本结            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-03 12:37:15
                            
                                279阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            上一节中说了,在 Surface Shader 中,添加顶点函数,我们可以在 顶点函数中获取到 顶点数据,比如顶点颜色、顶点坐标等。这一节学习获取顶点坐标,并且修改顶点坐标,来实现顶点动画。简单介绍原理:在顶点函数中,获取到顶点坐标 vertex,然后,求float offsetY = sin(vertex.x) ,然后将 offsetY 加到 vertex.y 上,这样就把原来的平面 ,变成了            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-13 13:16:50
                            
                                262阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在今年GDC上发现一个非常有趣的演讲,叫做Animating With Math,遂实现之,是讲述顶点shader动画的,举了几个经典的例子,但是讲者并没有给代码,而是像虚幻引擎那样的节点,这样更加清楚明了 之前博主通过顶点着色器实现了水的波动算法: 
unity3d 制造自己的水体water effect(二) 顶点着色器动画可以减少动画的开销,并减少关节joint的数量 开始举的例子都很简单,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-01 20:31:31
                            
                                125阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            虚幻引擎中VertexPainting工具能够很方便的将几种材质进行混合并绘制在模型上。而在Unity中则可以通过VertPaint这个插件来实现差不多的效果(PS:肯定是没有虚幻中的那么强大)。操作步骤如下(以Bulit—in管线为例):一、首先在Window中找到VertPaint并打开,也可以按Ctrl+Shift+V打开,打开之后会出现右图中的窗口二、把混合材质赋予到需要绘制的物体插件自带            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-27 18:06:47
                            
                                77阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            先看一眼最终的实现效果。这是原图,我们可以跟抖音一样,对它进行各种处理,比如美白、滤镜、各种特效。这里我们先来加几种最简单的画面效果(动态图超过尺寸了,可以在我的公众号里看哦,这里先放图片吧):(1)亮度值,从0到1:(2)饱和度,从0到1:(我觉得这个饱和度为1时还挺好看的~)(3)对比度,从0到1: 可能有部分小伙伴们,对于亮度、饱和度、对比度这些概念还不是很清楚,这里先大致做下解释            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-13 23:02:35
                            
                                33阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            概述之前是使用OpenGL练习图形学项目的,现在要转向在Unity 3d中练习图像学项目。由此,才有了这一系列的项目。本篇将从比较简单的顶点动画说起,开启图形学的篇章。 
 原理主要的原理,就是在顶点着色器中,对顶点进行各种偏移。这种偏移,可以根据自己的需要,在模型空间、世界空间、裁剪空间等空间中进行。1、压扁效果开放两个属性,TopY和BottomY,代表物体的上部和底部(世界空间中的数值)。再            
                
         
            
            
            
            序详见官方文档:Unity - Manual: Mesh data (unity3d.com)Topology:拓扑结构翻译:拓扑描述网格具有的面类型。 网格的拓扑定义了索引缓冲区的结构,索引缓冲区又描述了顶点位置如何组合成面。每种类型的拓扑都使用索引数组中不同数量的元素来定义单个面。 Unity支持以下网格拓扑: 三角形 Quad 线 LineStrip 积分 index data:索            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-09 17:12:53
                            
                                133阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            3D数学基础向量向量可以看做具有方向和大小的一条线段。比如:我们如果用点A减去点B,则可以得到一个向量,该向量的方向为点B面向点A的方向,而大小为两点的距离。这个方法在游戏开发中经常用到,比如我们要让物体B面向物体A,一般都是使用物体B的位置减去物体A的位置,得到的向量取模。点积向量的点积表示一个向量在另一个向量上的投影,如下:而相互垂直的两个向量点积为0:我们可以使用这个特性来判断两个向量是否垂            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-05 13:03:08
                            
                                80阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            最近工作上用到了Mesh这个组件,需要用这个组件画图,拿十字架练手。 需要用到的组件,Mesh ,MeshRender,MeshFilter。 首先我们了解一下三者的关系,MeshFilter从Mesh拿到需要画图的数据,然后给MeshRender进行渲染。 unity中的图片都是一个个三角形拼接起来的。所以不管是绘制什么,都需要三个点(存在Mesh的vertices中),并且这三个点需要按照逆时            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-28 13:02:08
                            
                                74阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            流动的河流
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
 
Shader "Unlit/ScrollRiver"
{
    Properties
    {
        //河流纹理
        _MainTex ("Texture", 2D) = "white" {            
                
         
            
            
            
            在实际项目开发中,提起unity优化,肯定是有DrawCall的相关内容的,下面就讲解一下什么是DrawCall以及如何对DrawCall进行优化操作。一、什么是DrawCall?        在unity中,每次CPU准备数据并通知GPU的过程就称之为一个DrawCall。        具体过程就是:设置颜色--            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-07 13:49:19
                            
                                162阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            使用 MegaFiers 插件,能够使得Unity支持顶点动画的播放。官方视频教            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2015-03-12 21:13:00
                            
                                464阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            使用 MegaFiers 插件,可以使得Unity支持顶点动画的播放。官方视频教程如下:在这里简单测试使用下,环境如下:Blender 2.72Unity 4.5.4MegaFiers 2.74在这里简单测试使用下,环境如下:Blender 2.72Unity 4.5.4MegaFiers 2.74创建物体和动画首先打开Blender,默认会含有一个立方体,下面对这个立方体制作一个简单动画,让其在1~100帧做旋转,101            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-08-20 14:46:07
                            
                                2224阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、点积(又称“数量积”、“内积”) 1、理论知识在数学中,点积的定义为a·b=|a|·|b|cos<a,b> 【注:粗体小写字母表示向量,<a,b>表示向量a,b的夹角,取值范围为[0,π]】。从定义上,我们知道向量的点积得到的是一个数值。而不是向量(这点大家要注意了!要与叉积进行区别)。另外点积中的夹角<a,b>没有顺序可言,即<a            
                
         
            
            
            
            Unity_shader结构体定义及其使用定义,与大部分编程语言相似,结构体作为一个包含多种类型变量的整体定义而出现。并且在定义结构体的时候,你可以为其中的变量绑定语义。使用:作为一种变量类型来使用是自然的,具体我们可以让其作为函数的参数和返回值出现,会让代码变的规整很多,大大提升可阅读性。注意:当你用结构体绑定一个语义的时候,用其向一个语义返回了值,当你再需要这个值的时候,最好仍旧使用这种结构体            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-26 16:45:41
                            
                                45阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             今天一个本科小学弟问到一个matlab编程问题,说自己只是改了别人的一小段代码,结果程序运行就通不过。给他看了一遍代码,我也没有发现问题。在一个for循环里面,第一遍能跑完,跑到第二遍的时候就会在一句调用sum函数的地方提示错误,反复对比单步调试无果。还多次确认,sum函数本身并没有什么使用限制。后来突然灵光一闪,发现他的for循环里面用到一个变量名就叫 sum, 第一遍循环跑完后,sum变量进            
                
         
            
            
            
            背景最近研究Unity3d,2d寻路的实现。所以又一次涉及到了角色坐标位移的问题。系统的对于这个简单问题进行整理和总结。本来就是一个简单的几何问题,结果发现已经有两个小坑,顺便填上,这里做下总结。实现需求:通过鼠标点击,控制2d角色移动,就是点哪里,角色向移动到哪里问题分解:按照时间进行动画分解,鼠标输入(动画开始)、平移(动画进行)、移动结束(动画结束)前提:这里前面的文章基本解决了一些基础的知            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-26 15:22:02
                            
                                68阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            流动的河流Shader "Unity Shaders Book/Chapter 11/Water" {
	Properties {
		_MainTex ("Main Tex", 2D) = "white" {}    //河流纹理
		_Color ("Color Tint", Color) = (1, 1, 1, 1)    //整体颜色
		_Magnitude ("Distortion M            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-16 10:42:29
                            
                                92阅读
                            
                                                                             
                 
                
                                
                    