草庐IT

Unity基础篇-UV坐标和法线

我们已经利用Mesh创建过简单的一个Cubel了,如果要让这个cube更精细化还需要更详细的处理,这样就就有几个绕不开的话题,涉及图形学UV坐标和法线。UV坐标:UV坐标是用于映射2D纹理到3D模型的坐标。在3D模型上的每个顶点都有一个对应的UV坐标,它告诉引擎在纹理上的哪个位置找到该顶点的颜色。UV坐标的范围通常是从(0,0)到(1,1)。左上角是(0,0),右下角是(1,1)。在三角形上,UV坐标会在三个顶点之间插值,以确保纹理正确地贴在整个三角形表面上。UV坐标对于渲染纹理、贴图和实现复杂的视觉效果非常重要。通过在模型上设置UV坐标,你可以指定如何在纹理上放置贴图,从而在模型上创建更加丰

Unity 坐标系与右手坐标系位姿(旋转和位移)转换

文章目录Unity坐标系与右手坐标系位姿(旋转和位移)转换位移转换旋转转换扩展(其他坐标系形式的转换)Unity坐标系与右手坐标系位姿(旋转和位移)转换下图是Unity使用的坐标系和右手坐标系的示意图:可以清楚地看到,Unity中用的是左手坐标系,且是z轴向前,y轴向上;而右手坐标系是x轴向前,z轴向上(当然也可以自己规定怎么放)。现需要把Unity的一个位姿转换为右手坐标系下的位姿。位移转换位移转换其实很简单,假设在Unity中的位移是vuv_uvu​,右手坐标系的位移是vrv_rvr​,那么把vrv_rvr​转换为vuv_uvu​则是:vux=−vryvuy=vrzvuz=vrxv_{ux

Unity2021+VS2022调试

VS2022配置打开电脑上的VS安装程序。点击修改VS2022,勾选其中的Unity支持组件。如果UnityHub已经安装好了,可以将其取消勾选。选完后,点击右下角修改。等待安装程序进行下载安装完成即可。如果在第一次安装VS2022时就已经勾选安装Unity相关组件,这部分可以略过。Unity2021配置打开项目后,配置外部脚本编辑器。从菜单栏Edit–>Preferences–>ExternalTools。下拉选择VS2022。如果Unity未能识别到电脑上的VS,需要点击浏览,进行手动选择。程序调试上述配置完成后。在Unity中,双击要调试的C#脚本,会自动通过VS2022打开。设置调试断

暗黑破坏神:不朽 unity mmo arpg资源分包精讲

unity大型游戏资源管理——分包视频讲解:点击观看unitymmoarpg暗黑破坏神:不朽是一个大型的重度游戏,该游戏资源已经超过10G所以它用了资源分包技术减少下载时间。首包只包含基础资源,在玩家玩第一关的时候,后台就开始下载后面章节的内容,做到了无感衔接。从玩家体验角度只是等待了几分钟的安装时间分包加载演示真机运行效果这篇文章是之前的unity3dAssetBundle资源热更专题的内容拓展建议先观看核心讲解根据上次战棋游戏的资源架构先划分好首包资源(mainpackge)和分包资源(subpackge_N).这样就能把资源一分为N个因为继承了之前的功能,所以我们分包也是具备资源差异对比

Unity_Timeline使用说明

Unity_Timeline使用说明首先要找到工具吧?Unity2023.1.19f1c1打开如下:(团结引擎没找见哪儿打开,可能是引擎问题吧?有知道的同学可以告诉我在哪儿打开)Timelime使用流程:打开之后会提示您选择一个gameobject开始timeline:选择gameobject之后创建它的timeline,会要求创建一个导演组件和一个timeline资产,然后保存此timeline资产(后缀名为:playable)到文件位置。按要求点击即可(这一步最好选择一个空gameobject去创建): 完成之后,在gameobject上会添加一个PlayableDirector:接下来在

Unity中URP下实现能量罩(交接处高亮)

文章目录前言一、交接处高亮原理1、我们先用一个球作为能量罩、一个Cube和一个椭球作为与能量罩交接的物体2、这是我们目前场景的深度图3、使能量罩为半透明渲染队列且关闭深度写入不渲染深度图二、交接处高亮实现1、得到深度图2、在片元着色器中,对深度图进行纹理采样3、得到深度图观察空间下的Z值4、得到深度图观察空间Z值和能量罩观察空间Z值的差值5、用1-depth得到反色6、在属性面板定义一个参数用于控制高亮范围6、在属性面板定义一个Color用于控制高亮颜色请添加图片描述三、测试代码前言在之前的文章中,我们实现了深度图和抓屏的使用。我们用这些功能来实现一下能量罩效果。Unity中URP下使用屏幕坐

Unity中URP实现水体效果(水的深度)

文章目录前言一、搭建预备场景1、新建一个面片,使其倾斜一个角度,来模拟水底和岸边的效果2、随便创建几个物体,作为与水面接触的物体3、再新建一个面片,作为水面二、开始编写水体的Shader效果1、新建一个URP基础Shader2、把水体Shader分解为以下几个部分三、实现水的深度效果1、在URP管线设置下,打开深度图2、在SubShader中,申明深度图纹理和采样器3、修改水体渲染为半透明队列4、在Pass中关闭深度写入5、获取水体顶点在观察空间下的坐标6、把采样到的深度图转化到观察空间下7、最后,用观察空间下的深度图和水体顶点坐标的Z值相加即可四、最终代码及效果1、最终效果2、最终代码前言在

Unity笔记:数据持久化的几种方式

正文主要方法:ScriptableObjectPlayerPrefsJSONXML数据库(如Sqlite)1.PlayerPerfsPlayerPrefs存储的数据是全局共享的,它们存储在用户设备的本地存储中,并且可以被应用程序的所有部分访问。这意味着,无论在哪个场景、哪个脚本中,只要是同一个应用程序中的代码,都可以读取和修改PlayerPrefs中的数据。这意味着耦合性的增加、安全性的降低。它适合存储少量的基本数据(比如玩家的偏好设置、游戏设置、游戏进度等),但不适合存储大量或复杂的数据结构。注意:每次Set完数据要调用PlayerPrefs.Save()把数据写入磁盘。Get有两个参数,第

Unity | 接口的理解和使用方法

一、unity里的人物关系unity|核心类图讲解_菌菌巧乐兹的博客-CSDN博客二、接口不属于unity大家族,它是个外人它给你提供了一个可以获取到unity大家族里面没有的资源的地方但是,如果你想要,你必须按照它说的做例:如下接口publicinterfaceIPointerEnterHandler{voidOnPointerEnter(PointerEventDataeventData);}//publicinterfaceIPointerEnterHandler详解:公开接口接口名字//voidOnPointerEnter(PointerEventDataeventData);详解:我

【Unity】Unity C#基础(十四)注释

文章目录注释行注释段注释XML注释一级注释二级注释注释换行TODO注释注释行注释//注释内容段注释/*注释内容*/XML注释//////注释内容//////是智能注释也称xml注释,会在被编译,并生成xml文件在可执行文件中。会影响编译速度,但不会影响代码执行速度。一级注释1.remarks>对类型进行描述,功能类似summary>,据说建议使用remarks>;2.summary>对共有类型的类、方法、属性或字段进行注释;3.value>主要用于属性的注释,表示属性的制的含义,可以配合summary>使用;4.param>用于对方法的参数进行说明,格式:paramname="param_na