一、点积(又称“数量积”、“内积”) 1、理论知识在数学中,点积的定义为a·b=|a|·|b|cos<a,b> 【注:粗体小写字母表示向量,<a,b>表示向量a,b的夹角,取值范围为[0,π]】。从定义上,我们知道向量的点积得到的是一个数值。而不是向量(这点大家要注意了!要与叉积进行区别)。另外点积中的夹角<a,b>没有顺序可言,即<a
3D数学基础向量向量可以看做具有方向和大小的一条线段。比如:我们如果用点A减去点B,则可以得到一个向量,该向量的方向为点B面向点A的方向,而大小为两点的距离。这个方法在游戏开发中经常用到,比如我们要让物体B面向物体A,一般都是使用物体B的位置减去物体A的位置,得到的向量取模。点积向量的点积表示一个向量在另一个向量上的投影,如下:而相互垂直的两个向量点积为0:我们可以使用这个特性来判断两个向量是否垂
转载
2024-10-05 13:03:08
80阅读
前言很多情况下,我们发现Unity中的顶点数量与max中的不一致,很是费解,为什么这样呢?到底谁才是对的呢? 测试其实都是对的,只是大家处理的方式不一样而已,但是由于我们最终是要在引擎中进行展示与操作,所以我们还是要以引擎中的为准!那么接下来我们做几个小测试,来看下具体是什么导致顶点数不一样的。 首先,我们在max中新建一个立方体,并导入到unity中进行观察:&n
转载
2024-04-17 11:36:36
77阅读
Unity自带的物理引擎,都是用的硬件浮点,硬件浮点有个特点,就是不同CPU,实现的标准可能不一样,导致会有误差。也就是说,Unity自带的物理引擎,在不同平台上,模拟的效果可能会不一样。而且就算是同一机器,也可能因为浮点造成的误差,导致每次模拟的结果都不一样。解决方法就是用软件浮点(定点数)来代替硬件浮点,不同平台,浮点的实现都是统一的方式,而且每次计算结果都是唯一,不存在误差,确定就是定点数性
最近工作上用到了Mesh这个组件,需要用这个组件画图,拿十字架练手。 需要用到的组件,Mesh ,MeshRender,MeshFilter。 首先我们了解一下三者的关系,MeshFilter从Mesh拿到需要画图的数据,然后给MeshRender进行渲染。 unity中的图片都是一个个三角形拼接起来的。所以不管是绘制什么,都需要三个点(存在Mesh的vertices中),并且这三个点需要按照逆时
转载
2024-03-28 13:02:08
74阅读
Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大。 Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时 动态加载,可以指定路径和来源的。其实场景里所有静态的对象也有这么一个加载过程,只是Unity3D后台替你自动完成了。详细说一
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
119阅读
在上一个例子中,我们得到了由mesh组件传递的信息经过数学转换至合适的颜色区间以颜色的形式着色到物体上。这篇文章将要在此基础上研究片段的擦除(discarding fragments)和前面剪裁、后面剪裁(front face culling and back face culling)来达到透明效果。当一个mesh组件的信息被传递后,我们可以通过代码决定哪些部分渲染(render)出来,而哪些部
转载
2024-05-19 15:33:02
182阅读
在实际项目开发中,提起unity优化,肯定是有DrawCall的相关内容的,下面就讲解一下什么是DrawCall以及如何对DrawCall进行优化操作。一、什么是DrawCall? 在unity中,每次CPU准备数据并通知GPU的过程就称之为一个DrawCall。 具体过程就是:设置颜色--
转载
2024-06-07 13:49:19
162阅读
本文将讲述动画系统的发展,让读者对动画的发展及当下动画的基础知识有一个深入的了解一、静态模型(Mesh)在游戏中,模型作为我们最常接触的美术资源,其本身是由一系列顶点(坐标)信息组成的数据集,因此,单纯的模型是纯静态的,如下图的网格交汇点便是顶点二、动画为了让模型动起来,我们需要让模型的各个顶点按照一定规律运动起来,实现“动画”效果,也就是所谓的“顶点动画” 该效果出自UnityShader_翻书
转载
2024-10-28 09:14:59
64阅读
在今年GDC上发现一个非常有趣的演讲,叫做Animating With Math,遂实现之,是讲述顶点shader动画的,举了几个经典的例子,但是讲者并没有给代码,而是像虚幻引擎那样的节点,这样更加清楚明了 之前博主通过顶点着色器实现了水的波动算法:
unity3d 制造自己的水体water effect(二) 顶点着色器动画可以减少动画的开销,并减少关节joint的数量 开始举的例子都很简单,
转载
2024-03-01 20:31:31
125阅读
上一节中说了,在 Surface Shader 中,添加顶点函数,我们可以在 顶点函数中获取到 顶点数据,比如顶点颜色、顶点坐标等。这一节学习获取顶点坐标,并且修改顶点坐标,来实现顶点动画。简单介绍原理:在顶点函数中,获取到顶点坐标 vertex,然后,求float offsetY = sin(vertex.x) ,然后将 offsetY 加到 vertex.y 上,这样就把原来的平面 ,变成了
转载
2024-05-13 13:16:50
262阅读
虚幻引擎中VertexPainting工具能够很方便的将几种材质进行混合并绘制在模型上。而在Unity中则可以通过VertPaint这个插件来实现差不多的效果(PS:肯定是没有虚幻中的那么强大)。操作步骤如下(以Bulit—in管线为例):一、首先在Window中找到VertPaint并打开,也可以按Ctrl+Shift+V打开,打开之后会出现右图中的窗口二、把混合材质赋予到需要绘制的物体插件自带
转载
2024-02-27 18:06:47
77阅读
序详见官方文档:Unity - Manual: Mesh data (unity3d.com)Topology:拓扑结构翻译:拓扑描述网格具有的面类型。 网格的拓扑定义了索引缓冲区的结构,索引缓冲区又描述了顶点位置如何组合成面。每种类型的拓扑都使用索引数组中不同数量的元素来定义单个面。 Unity支持以下网格拓扑: 三角形 Quad 线 LineStrip 积分 index data:索
转载
2024-09-09 17:12:53
133阅读
概述之前是使用OpenGL练习图形学项目的,现在要转向在Unity 3d中练习图像学项目。由此,才有了这一系列的项目。本篇将从比较简单的顶点动画说起,开启图形学的篇章。
原理主要的原理,就是在顶点着色器中,对顶点进行各种偏移。这种偏移,可以根据自己的需要,在模型空间、世界空间、裁剪空间等空间中进行。1、压扁效果开放两个属性,TopY和BottomY,代表物体的上部和底部(世界空间中的数值)。再
在opengl中为了模拟光线或进行光照计算和阴影计算,我们往往需要首先计算法线。法线是一个向量,顶点法线(Vertex Normal)是过顶点的一个矢量,用于在高洛德着色(Gouraud Shading)中的计算光照和纹理效果。在生成曲面时,通常令顶点法线和相邻平面的法线保持等角,这样进行渲染时,会在平面接缝处产生一种平滑过渡的效果。表面的光照强度(即反射光量)是和光线方向与法线方向的夹角成正比的
转载
2024-08-01 20:50:21
80阅读
Unity 3D 开发中需要掌握的数学基础知识概要整理(一) 目录Unity 3D 开发中需要掌握的数学基础知识概要整理(一)学习目的:一、3D 数学基础知识介绍二、Unity 中的几种常用坐标系三、向量的基本概念四、向量运算五、矩阵 学习目的:3D数学:研究在3D几何世界中的数学问题。被广泛的应用于使用计算机来模拟3D世界的领域,比如图形学,游戏,虚拟现实和动画等。为什么要学
转载
2024-08-16 19:51:41
127阅读
流动的河流
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "Unlit/ScrollRiver"
{
Properties
{
//河流纹理
_MainTex ("Texture", 2D) = "white" {
OpenGL 通过VBO实现顶点数组绘制顶点
转载
2022-03-22 11:42:37
236阅读
1、启用数组在1.1中是glEnableClientState(GL_VERTEX_ARRAY);和glDisableClientState(GL_VERTEX_ARRAY);glEnableVertexAttribArray(*);和glDisableVertexAttribArray(*);2、指定数组数据glVertexAttribPointer(GLuint index,GLint siz
原创
2015-10-31 13:43:46
1008阅读