数学函数
Abs(x) :返回输入参数的绝对值;Clamp(x,a,b):如果x小于a则返回a;如果x大于b则返回b;Cross(A,B):返回两个三元向量的叉积;degree(x):输入参数为弧度值(radians),函数将其转换为角度值;determinant(m):计算矩阵的行列式因子;dot(A,B):返回A和B的点积;exp2(x): 2的x次方;lerp(a,b,f)
转载
2024-03-19 17:02:34
304阅读
当你想将颜色值规范到0~1之间时,你可能会想到使用saturate函数(saturate(x)的作用是如果x取值小于0,则返回值为0。如果x取值大于1,则返回值为1。若x在0到1之间,则直接返回x的值.),当然saturate也可以使用变量的swizzled版本,比如saturate(somecol
原创
2021-07-20 16:41:12
1593阅读
本文分享Unity中的AI算法和实现1-Waypoint在Unity中, 我们有一些有趣且常见的AI算法可以研究和使用, 其中最常见的就是怪物的简单AI, 比如在RPG游戏里, 怪物在某些点定点巡逻, 当玩家进入检测区域时, 怪物会主动追击玩家, 追击到玩家后对玩家进行伤害, 或者在超过最大距离后脱离追击状态, 由恢复到巡逻状态.我们接下来几篇文章会简单的实现一个基于有限状态机的怪物AI, 这篇文
转载
2024-09-03 13:09:02
44阅读
参考官网文档http://docs.unity3d.com/Manual/ExecutionOrder.htmlunity脚本的生命周期流程图 编辑器(Editor) Reset:函数被调用来初始化脚本属性当脚本第一次被附到对象上,并且在Reset命令被使用时也会调用。 第一次场景加载(First Scene Load) 这些函数在场景开始时被调用,而且场景中的每个对象只会调用一次
转载
2024-03-27 11:42:55
37阅读
UE427_常用函数节点说明Normalize to Range——归一化算法 计算方法: value:20 rangemin:10 rangmax:50 returnvalue:(20-10)/50 = 0.25NormalizeNearly Equal(float)——以A-B得差值来与ErrorToLerance做比较,来判断是否相邻。Lerp——插值计算PowerFInterp To——在
转载
2024-07-04 15:21:50
133阅读
首先要明确的是MonoBehaviour是每个脚本的基类.每个Javascript脚本自动继承MonoBehaviour.使用C#或Boo时,需要显式继承MonoBehaviour.以下是一些常用的函数调用顺序的说明: Awake:当一个脚本实例被载入时Awake被调用,要先于Start。建议少用,此刻物体可能还没有实例化出来,会影响程序执行顺序。需要注意的是,假设实例化一个物件:&nb
转载
2024-03-27 20:36:16
37阅读
1.透明度混合必须关闭深度写入,开启混合模式Shader"Unity Shaders Book/Chapter 8/Alpha Blend"
{
Properties
{
_Color ("Color Tint", Color) = (1,1,1,1)
_MainTex("MainTex", 2D) = "White" {}
//在透明纹理的基础上控制整体的透明度
_Alpha
转载
2024-06-27 21:55:12
90阅读
光照模型我们是如何看到这个世界的当光照射到物体表面时,一部分被物体表面吸收(absorption),另一部分被散射(scattering)散射有两种方向:一种散射到物体内部,称为折射(refraction)或透射(transmission);另一种散射到外部,称为反射(reflection)对于不透明物体,折射进物体内部的光线一部分与内部颗粒相交,重新发射出物体表面,这部分光线与具有与反射光线不同
转载
2024-05-07 08:35:15
42阅读
函数功能:当数据超过数据类型最大值时取最大值, 当数据小于数据类型最小值时取最小值 uchar i=200; qDebug()<<i<<Qt::endl; //i输出200 i=cv::saturate_cast<uchar>(255); qDebug()<<i<<Qt::endl; //i输出25
原创
2022-01-25 14:48:56
389阅读
一、前言首先,来看一下效果图,如图所示: 这个效果要使得摄像机的Clear Flags为Solid Color模式,如果为其他模式可能会看不到外部那一圈光环。二、实现原理1、Shader部分:将需要使用两个Pass块,两个Pass块里输出的颜色不同,并最终使用透明度混合得到最后输出的像素颜色。●第一个Pass块:这个Pass块顶点和片段程序都比较简单,代码如下:Pass{
(译者注:即本文,后续还有5篇文章)详细介绍了Unity3D中的表面着色器(Surface Shader)的,为学习更复杂的Shader编程打下基础。动机 如果你是刚刚接触Shader编程的新手,你可能不知道从何开始踏出Shader编程的第一步。本教程将带你一步步完成一个表面着色器(Surface Shader)和片段着色器(Fragment Shader)。本教程也将介绍在Unity3D Sha
转载
2024-08-17 15:52:40
97阅读
为了防止点积结果为负值,我们需要使用max操作,而CG提供了这样的函数。使用另外一个CG函数也可以达到这样的目的。即saturate函数。函数:saturate(x)参数:x:用于操作的标量或矢量,可以是float,float2,float3等类型。描述:把x截取在[0,1]范围内,如果x是一个矢量,那么会对它的每一个分量进行这样的操作。1.逐顶点光照shader "custom/Diffuse
转载
2024-03-06 14:33:41
510阅读
1、OpenGL实用工具包(GLUT)
OpenGL包含渲染函数,但被涉及成独立于任何窗口系统和操作系统。因此,
OpenGL并没用用于打开窗口以及检测键盘或鼠标事件的函数。GLUT库被用来简化这些相关任务,此外还提供了一些用于创建复杂三位物体(如球体、圆环和茶壶等)的函数。
窗口管理函数
glutInit(int *arg
转载
2024-03-18 08:02:47
86阅读
一、UV帧动画举个例子,对于一张四帧贴图(横向):1.UV缩放:首先就是让它只显示四分之一吧,也就是将uv值压缩(x轴),原来的uv范围由(0,1)转为(0,0.25),用代码表示就是spriteUV.x *= 1.0 / 42.UV移动:以贴图的左下角为例(设uv值为(0,0)),那么随着时间的变化,uv值就应该变为(0.25,0),(0.5,0),(0.75,0),(1,0),每次的增加量就是
转载
2024-06-05 17:43:17
116阅读
节省带宽1 减少纹理大小所有纹理的长宽比最好是正方形,且长宽值最好是2的整数幂。使用多级渐远纹理技术。通过把纹理类型设置为Advanced, 就可以自定义许多选项,例如,是否生成多级渐远纹理(mipmaps), 当勾选了Generate Mip Maps选项后,Unity就会为同一张纹理创建出很多不同大小的小纹理,构成一个纹理金字塔。而在游戏运行中就可以根据距离物体的远近,来动态选择使用哪一个纹理
转载
2024-06-16 12:07:02
56阅读
_MainTex_ST(1)简单来说,TRANSFORM_TEX(tex,name) (tex.xy * name##_ST.xy + name##_ST.zw)主要作用是拿顶点的uv去和材质球的tiling和offset作运算, 确保材质球里的缩放和偏移设置是正确的。(v.texcoord就是顶点的uv)下面这两个函数是等价的。o.uv = TRANSFORM_TEX(v.texco
转载
2024-07-09 19:46:12
53阅读
/* * [Modified] Modern CSS Reset * @link https://github.com/hankchizljaw/modern-css-reset */ /* Box sizing rules */ *, *::before, *::after { box-sizin
转载
2020-06-03 14:55:00
697阅读
2评论
样式重置的目的是减少浏览器的不一致性,例如line-height,margin,标题的font-size大小等等。样式重置经常在CSS框架中出现。 这里的重置样式故意写的很一般,例如没有为body元素设置任何颜色或是背景之类,我并不建议您就拿这个重置样式应用在您自己的项目中,它应该被调整,修改,扩展
原创
2019-01-15 17:30:00
619阅读
一、CSS 继承性1、样式的继承性2、代码示例
原创
2023-03-19 08:07:17
237阅读
css代码:/* v1.0 | 20080212 */html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5,
转载
2013-08-12 14:13:00
410阅读