地形unity

Unity Shader 实现 Lambert Phong BlinnPhong

1.Lambert模型 基于Lambert余弦定理构造出的模型,只计算了漫反射部分 代码部分解析 可以看到Lambert模型中只返回了漫反射(diffuse) 再看一下diffuse是什么组成的 第一项为主光源的入射光颜色 第二项为漫反射材质的颜色 第三项 法线方向和光照方向的点积(cosθ=n.l ......
BlinnPhong Lambert Shader Unity Phong

在线直播系统源码,小功能Unity获取点击到的UI

在线直播系统源码,小功能Unity获取点击到的UI 修改Button颜色 ColorBlock cb = new ColorBlock();cb.normalColor = Color.white;cb.highlightedColor = Color.white;cb.pressedColor = ......
在线直播 源码 功能 系统 Unity

Unity可视化资源依赖关系开发总结

为了更好的查看资源依赖关系,有必要将资源数据和依赖关系按可视化的形式展现。 0x0 使用有向图作为数据结构 由于预制体资源依赖关系复杂,可能呈现网状关系,因此关系利用有向图的数据结构来表示是最合适的。 可视化界面中,资源用矩形表示,资源的依赖关系用连线和箭头表示 0x1 基于力导向的图布局算法 图的 ......
资源 Unity

unity 点乘 叉乘 的意义

为什么计算机的正余弦函数中基本上使用的是弧度而不是看起来更直观的角度呢?这跟微积分的计算有关,游戏中特别是物理公式,稍微复杂就会出现微积分计算,使用角度参与计算十分麻烦。因此在游戏开发中角的单位基本上都使用弧度。 其实 根据点乘 就能算出 两个向量的角度。 但是游戏引擎提供的API,都是已弧度为基础 ......
意义 unity

Unity Shader学习01--------Shader

Shader比较学术的百科回答就是用来实现图像渲染的,用来替代固定渲染管线的可编辑程序。其中Vertex Shader(顶点着色器)主要负责顶点的几何关系等的运算,Pixel Shader(像素着色器)主要负责片元颜色等的计算。 那说人话就是可以把渲染流程看作美食的制作流程,一般来说制作美食需要选食 ......
Shader Unity 01

Unity热更新基础

Unity热更新基础 资源的概念: ​ Assets目录下,除StreamingAssets中的东西以外,可以看到的文件,都是资源,每种资源,在Unity中,都有下个类,去映射 对应。 ​ 例如:Material,AudioClip,Animation,GameObject(预制件).... Ass ......
基础 Unity

※※※傻瓜式UNITY毕设 - 开发笔记※※※

ABOUT CAMERAS 场景中物体挂载相机,其获取的信息可以供Target Texture使用, 此Texture又可以供需要该Texture的物体使用。 // UI里的Raw Image可以这么搞,那比如说场景中有个屏显?估计要套壳。 ※ 可应用场景: 小地图,已经实现了,用在大世界里。√ 模 ......
傻瓜 笔记 UNITY

【ylg速成教程】在Unity中制作♿说的道理和栗子头♿

前言 大家好啊,我是狗猥,今天来点大家想看的东西。 说的道理和栗子头是吉吉王国答辩文化中不可磨灭的两颗璀璨明珠,它是用视频编辑软件Vegas中的Tiny Planet效果制作的。 DJGun出过一个视频讲解了实现原理,但细节部分几乎没有。 视频是这个:DJGun教你制作栗子头和说的道理 于是我在摸鱼 ......
道理 教程 Unity ylg

Unity中,区别LookAt与LookRotation 一直不太理解的问题.....

详细的资料可以看这个大佬总结的:参考资料 我这里直接用图结合着说: 首先呢,我们的主角要看向敌人,下图是还没看向之前: 使用LookAt函数看向敌人后,Z轴看向敌人(也是正面看向敌人) 而如果LookRotation的参数直接填敌人的位置,就会出现下面这种情况: 我们可以发现,主角现在看向的根本不是 ......
LookRotation LookAt 问题 Unity

使用unity构建射击小游戏

使用unity构建射击小游戏 成果图 参考例程 www.manning.com/hocking 问题汇总 1、renderer.material 方法过时 换成使用 this.GetComponent() 参考网址: https://blog.csdn.net/Czhenya/article/det ......
小游戏 unity

Unity绘制圆和缓动雷达图

Unity绘制圆和缓动雷达图 之前在做UI模块的时候遇到过需要做雷达图的效果,所以简单复习了一下 关于网格绘制 我们都知道Unity绘制图形是通过Mesh网格添加顶点进行绘制,那么知道顶点信息后如何实现图形的绘制,就是由Graphic类来帮助我们实现。因此我们需要自定义一个类继承Graphic,然后 ......
Unity

Unity中实现物体移动的方法

在unity中实现物体移动的方法有很多种,本文将介绍7种不同的实现方法,可自行参考效果 1. Set Position 方法 public Transform targetTansform; In Update/FixedUpdate: this.transform.position = targe ......
物体 方法 Unity

【Unity3D】Unity3D技术栈

1 前言 ​ 本文梳理了笔者在学习 Unity3D 的过程中,对 Unity3D 的理解和学习路线,以帮助读者循序渐进地学习 Unity3D,后续笔者仍会持续更新 Unity3D 相关技术栈,并同步到本文中。 ​ 1)Unity 相关网站 Unity 官网:https://unity.cn/ Uni ......
Unity3D Unity3 Unity 技术 3D

【Unity3D】空间和变换

1 空间 1.1 左右手坐标系及其法则 1.1.1 左右手坐标系 左手坐标系与右手坐标系 ​ Unity 局部空间、世界空间、裁剪空间、屏幕空间都采用左手坐标系,只有观察空间采用右手坐标系。 ​ 左右手坐标系除了坐标系朝向(旋向性)不同,还存在以下差异: 左手坐标系下旋转正方向的定义遵循左手法则,右 ......
Unity3D Unity3 Unity 空间 3D

【Unity3D】激光灯、碰撞特效

1 需求描述 ​ 本文将模拟激光灯(或碰撞)特效,详细需求如下: 从鼠标位置发射屏幕射线,检测是否与物体发生碰撞 当与物体发生碰撞时,在物体表面覆盖一层激光灯(或碰撞)特效 ​ 本文代码见→激光灯、碰撞特效 2 原理 ​ 获取屏幕射线与物体的碰撞点,并在 shader 中计算顶点与碰撞点的距离(记为 ......
激光灯 激光 特效 Unity3D Unity3

【Unity3D】Shader常量、变量、结构体、函数

1 源码路径 ​ Unity Shader 常量、变量、结构体、函数一般可以在 Unity Editor 安装目录下面的【Editor\Data\CGIncludes\UnityShader】目录下查看源码,主要源码文件如下: UnityCG.cginc UnityShaderUtilities.c ......
常量 变量 函数 Unity3D 结构

HTTP协议分析与Unity用法

一、http协议简介 http协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议,使用TCP/IP通信协议传输数据,面向对象简洁、快速、无连接、无状态。 二、http工作原理 1、客户端连接到Web服务器 HT ......
Unity HTTP

unity chatGPT

GitHub - keijiro/AICommand: ChatGPT integration with Unity Editor Unity 开发向 ChatGPT( AI )相关的项目、网站 - 简书 (jianshu.com) ......
chatGPT unity

cocos creator教程:嵌入 unity

使用配置 unity 2021.3.20f1c1 cocos creator 3.6.1 unity 配置 1. 配置原生环境 顶部菜单/文件/生成设置,以 IOS 为例 2. 配置 API Level 和 cocos 打包配置一致 接入步骤 导出 unity 安卓项目 将导出的 unity 安卓项 ......
creator 教程 cocos unity

【Unity3D】基于模板测试和顶点膨胀的描边方法

1 前言 ​ 选中物体描边特效 中介绍了基于模板纹理模糊膨胀的描边方法,该方法实现了软描边,效果较好,但是为了得到模糊纹理,对屏幕像素进行了多次渲染,效率欠佳。本文将介绍另一种描边方法:基于模板测试和顶点膨胀的描边方法,该方法绘制的是硬描边,但效率较高。 ​ 基于顶点膨胀的描边方法都会遇到以下问题: ......
顶点 模板 Unity3D 方法 Unity3

【Unity3D】水波特效

1 水波特效原理 ​ 水波特效属于 Unity3D 后处理特效,其原理是:对渲染后的纹理进行局部挤压和拉升变换,即对局部 uv 坐标进行周期性的偏移运动,实现波纹效果。 ​ 1)波形方程 ​ 为简化水波模型,我们假设水波以机械波(正弦或余弦)传播,并且 0 时刻的水面波形函数为: ​ 其中,r 是质 ......
水波 特效 Unity3D Unity3 Unity

【Unity3D】卷轴特效

1 原理 ​ 当一个圆在地面上沿直线匀速滚动时,圆上固定点的运动轨迹称为旋轮线(或摆线、圆滚线)。本文实现的卷轴特效使用了旋轮线相关理论。 ​ 以下是卷轴特效原理及公式推导,将屏幕坐标 (x) 映射到纹理坐标 (u)。 ​ 注意:屏幕坐标 x 值域为 [0, ScreenWidth],这里已归一化到 ......
卷轴 特效 Unity3D Unity3 Unity

【Unity3D】Photon环境搭建

1 简介 ​ Photon 是一个泛用性的 ScoketServer 套装软件,可用于多人在线游戏、聊天室、大厅游戏,并同时支持 Windows、Unity3D、iOS、Android、Flash 等平台。Photon 包含两个部分,一部分是 Socket 服务器,另一部分是其针对各个平台编写的 S ......
Unity3D 环境 Photon Unity3 Unity

【Unity3D】缩放、平移、旋转场景

1 前言 ​ 场景缩放、平移、旋转有两种实现方案,一种是对场景中所有物体进行同步变换,另一种方案是对相机的位置和姿态进行变换。 ​ 对于方案一,如果所有物体都在同一个根对象下(其子对象或孙子对象),那么只需要对根对象施加变换就可以实现场景变换;如果有多个根对象,那就需要对所有根对象施加变换。该方案实 ......
场景 Unity3D Unity3 Unity 3D

【Unity3D】半球卷屏特效

1 原理 ​ 凸镜贴图 和 渐变凸镜贴图 中介绍了使用 OpenGL 实现凸镜贴图及其原理,通过顶点坐标映射到纹理坐标,并构造三角形网格,构建了真正的三维凸镜模型。本文通过 Shader 实现半球卷屏特效,通过屏幕坐标映射到纹理坐标,不需要构建凸镜模型,效率更高。 ​ 1)凸变换原理 ​ 以下凸变换 ......
半球 特效 Unity3D Unity3 Unity

【Unity3D】使用GL绘制线段

1 前言 ​ 线段渲染器LineRenderer、拖尾TrailRenderer、绘制物体表面三角形网格从不同角度介绍了绘制线段的方法,本文再介绍一种新的绘制线段的方法:使用 GL 绘制线段。 ​ Graphics Library(简称 GL),包含一系列类似 OpenGL 的 Immediate ......
线段 Unity3D Unity3 Unity 3D

【Unity3D】选中物体描边特效

1 前言 ​ 描边的难点在于如何检测和识别边缘,当前实现描边特效的方法主要有以下几种: ​ 1)基于顶点膨胀的描边方法 ​ 在 SubShader 中开 2 个 Pass 渲染通道,第一个 Pass 通道渲染膨胀的顶点,即将顶点坐标沿着法线方向向外扩展,并使用纯色给扩展后的顶点着色,第二个 Pass ......
物体 特效 Unity3D Unity3 Unity

【Unity3D】绘制物体表面三角形网格

1 仅绘制三角形网格 ​ 1)创建游戏对象 ​ 创建一个空对象,重命名为 Grid,并在其下添加需要绘制网格的对象,如下: ​ 场景显示如下: ​ 2)添加脚本组件 ​ GridController.cs using System; using UnityEngine; public class G ......
网格 三角形 物体 表面 Unity3D

【Unity3D】基于AssetBundle实现资源热更新

1 前言 ​ Unity3D 本地资源一般放在 Resources 目录下,但是 Resouces 文件夹的大小不能超过 2G,使用 AssetBundle 管理资源可以解决 Resources 文件夹受限问题。 ​ 本文代码资源见→基于AssetBundle实现资源热更新。 ​ AssetBund ......
AssetBundle Unity3D Unity3 资源 Unity

【Unity3D】绘制物体外框线条盒子

1 需求描述 ​ 点选物体、框选物体、绘制外边框 中介绍了物体投影到屏幕上的二维外框绘制方法,本文将介绍物体外框线条盒子绘制方法。 内框:选中物体后,绘制物体的内框(紧贴物体、并与物体姿态一致的内框盒子) 外框:选中物体后,绘制物体的外框(紧贴物体、并与世界坐标系的朝向一致的外框盒子) ​ 内框和外 ......
物体 线条 盒子 Unity3D Unity3