标签 开发笔记 下的文章 - 汪汪源码
首页
AI写作王
统计
友链
关于
推荐
智能AI工具
开始搜索
1
【UNITY 3D】Enviro - Sky and Weather 动态天气制作插件
1,637 阅读
2
3个免费的下载百度文库文档的方法
1,560 阅读
3
Unity3D完美的异步解决UniTask
1,431 阅读
4
Unity风格化海洋水面着色器 Stylized Water2 1.2.0 URP
1,139 阅读
5
Unity常见插件汇总
972 阅读
毕业设计
益智类
塔防
角色扮演
动作
小程序
小程序搭建
网站搭建
笔记
源码
unity
模型
套件
动画
界面
特效
插件
完整项目
2D素材
音效
开发
开发笔记
样式
视频教程
unity教程
通用资产
精灵和角色
图形用户界面
背景
图标
瓦片集
集合
系统
幻灯片
素材下载
3D模型
UI界面
2D精灵
搜 索
标签搜索
瓦
网站搭建
资源
特点
平台游戏
场景编辑
shader
建筑
场景
车辆
等距的
瓦片
3d
2d
必备工具
游戏工具
地形
镇城市
自顶向下
坦克
hbrely
累计撰写
2,454
篇文章
累计收到
25
条评论
首页
栏目
毕业设计
益智类
塔防
角色扮演
动作
小程序
小程序搭建
网站搭建
笔记
源码
unity
模型
套件
动画
界面
特效
插件
完整项目
2D素材
音效
开发
开发笔记
样式
视频教程
unity教程
通用资产
精灵和角色
图形用户界面
背景
图标
瓦片集
集合
系统
幻灯片
素材下载
3D模型
UI界面
2D精灵
页面
AI写作王
统计
友链
关于
推荐
智能AI工具
找到
9
篇与
相关的结果
2023-10-19
智能AI小程序
你听说过智能AI小程序吗?这是一款超级酷的聊天机器人小程序哦!智能AI小程序由OpenAI的GPT-3技术支持,可以回答你任何问题,并提供各种有趣的对话体验。无论你想聊什么,从科技到娱乐,从食品到旅行,ChatGPT都能满足你的需求。不仅如此,智能AI小程序还会随着你的使用而变得更加智能和个性化。它会记录你的喜好和习惯,并根据这些信息提供更加准确的答案和建议。想要试试ChatGPT小程序吗?赶快扫描下方二维码或搜索“ChatGPT”即可体验!ChatGPT #聊天机器人 #智能对话 #GPT-3技术
2023年10月19日
48 阅读
0 评论
0 点赞
2023-03-01
unity引擎使用基础
第一阶段unity基础引言注意:1.重点:1.适用性(什么时候用,怎么用) 2.作用(能够解决什么问题) 3.定义 4.操作/语法2.每天练习必须会独立完成3.形成笔记保存下来4.课下抓紧练,不懂马上问2D游戏:视角完全锁定,二维坐标3D游戏:视角可以随意变化,三维坐标在移动平台,Unity几乎成为3D游戏开发的标准工具Virtual Reality虚拟 现实Augmented Reality增强 游戏引擎:程序的框架,一款游戏最最核心的代码。*使用游戏引擎,开发者可以重用已有的核心技术,将精力集中在游戏逻辑和设计上,从而简单快速的创建游戏。包含以下系统:渲染引擎、物理引擎、碰撞检测系统、音效、脚本引擎、动画系统、人工智能、网络引擎以及场景管理。U3D特点:1.简单易用 2.开发效率高 3.价格便宜 4.新手居多 5.跨平台(23个平台间自由迁移,出色的部署,完全的覆盖)C#(C sharp):微软推出的编程语言Unity引擎基础-Unity环境搭建 -C# 语言基础-Unity API-3D数学基础-物理引擎1-UGUIUnity小技巧如果编辑器意外崩溃了,但场景未保存,这时可以打开工程目录,找到/Temp/_Backupscenes/文件夹,可以看到有后缀名为.Backup的文件,将该文件的后缀名改为.Unity拖拽到项目视图,即可还原编辑器崩溃前的场景。好不容易才调好的坐标,结果发现是在运行模式下,如果退出运行模式就还原了怎么办?可以在检视面板右键点击组件名,在弹出界面中选择copy Component,然后退出运行模式后同样右键点击组件名,在弹出界面中选择paste Component Values即可。分别按键盘键q、w、e、r、t可以依次切换界面上的小工具,除此之外,按数字键2或3还可以切换场景为2d模式或3d模式所有数值类型的字段,都支持在检视面板中直接输入简单的数值表达式右键点击检视面板下方的预览窗口即可让预览窗口跳出来,然后自己选择合适的地方停靠,这样切换模型查看就不会影响到其它面板。想让预览窗口回到原位,只需右键点击窗口,在弹出菜单中选择close Tab即可。在层次视图的搜索框中输入完整的脚本或组件名称,即可找到所有绑定了该脚本或组件的对象。或者在搜索框中输入t:加上某个类别如light,即可找到使用同类组件的对象。可以借助编辑器自带的标记功能为脚本分类,在检视面板中点击脚本图标下方的小三角,即可为脚本设置颜色或选择图标。第一章Unity环境搭建所用软件:Unity 5.4.0f3 (64-bit)assets文件夹最重要Scene场景面板 常用快捷键1.按下鼠标滚轮拖动场景(或者拖动小手),滑动滚轮缩放场景2.选择十字标,选定物体,按下F:居中,ALT+鼠标左键:围绕旋转 ALT+鼠标右键:缩放=滑动滚轮3.右键加ASDWQE 场景漫游 4.按下十字标,选定物体,拖动轴:往前走=向着Z轴正方向,向右走=X轴正方向,向上走=Y轴正方向:反之负方向。拖动面:沿面移动。5.按下双曲箭头标,是按轴旋转。6.按下方框和四个箭头的标,是放大缩小,拖动中间白色小方框是整体按比例放大缩小。inspector:检视面板(检查监视)显示的属性可能不准,在右上角static上边的小三杠选择Debug可以查看隐藏属性,在里面找到要修改的属性的真正名称transform 变换组件 reset 重置Position :位置 X 0 Y 0 Z 0 unity世界原点Rotation :角度 X 0 Y 0 Z 0 角度同世界一致Scale: 比例(一般 X 1 Y 1 Z 1)unity世界物体都是由小三角组成,物体越细腻小三角越多。顶点吸附:按下V同时按下左键拖动,实现顶点吸附视觉停留效应:0.02S以内视觉感受不到更新2D视角:ISO 正交模式 3D视角:Persp 透视模式基础概念坐标世界坐标:整个场景的固定坐标,不随物体旋转而改变本地坐标:物体自身坐标,随旋转而改变场景scene一组相关联的游戏对象的集合,通常游戏中每个关卡就是一个场景,用于展现当前关卡中的所有物体。游戏对象 gameobject-运行时出现在场景中的游戏物体。-是一种容器,可以挂载组件。组件 component(例:transform版块)-是游戏对象的功能模块网格过滤器:过滤形状 网格渲染器:显示形状Ctrl+S 保存场景Ctrl+D 复制物体为物体添加颜色等要为物体的MeshRenderer下的material添加材质,默认材质无法修改。Ctrl+1 切换到scene视图 Ctrl+2切换到Game视图 Ctrl+3切换到Inspector视图 Ctrl+4切换到Hierarchy视图在播放模式下,用户对游戏场景做的所有修改都是临时的,所有的修改在退出游戏预览模式后都会被还原。(*重要)project(项目)包含很多scene(场景),scene包含很多gameobject(游戏对象),gameobject包含很多component(组件)打组,一般先创建一个空物体(empty),然后再创建子物体。位置角度比例都是相对父的。mesh renderer 更改渲染 初始粉紫色,名为材质丢失metallic 金属的 albedo 反射系数material 材质:物体的质地,指色彩、纹理、光滑度、透明度、反射率、折射率、发光度等。实际就是shader(着色)的实例。简单来说是物体的外观。透明要把渲染模式rendering medo改为transparent(透明),再调albedo(反射率)里的A渐变要把渲染模式改为fade(渐变),再调albedo里的A去底镂空要把渲染模式改为cut out(镂空),再调albedo里的A RGBA图片可使用CUT OUT去底,RGB不可以shader着色器:专门用来渲染3D图形的技术,可以使纹理以某种方式展现。 材质相当于shader的面板,shader是程序。texture纹理:附加到物体表面的贴图。(*重要)shader-->material-->MeshRenderer(网格渲染) meterial-->texture纹理 -->colorshader要借助material才能作用到物体摄像机天空盒skybox围绕整个场景的包装器,用于模拟天空的材质。windos-->lighting灯光-->environment lighting环境灯光(scene会受到skybox的影响)Tag标签 layer层 作用:分类摄像机可以选择看见哪个层或者不看见哪个层,层也可以自己添加。游戏是3D还是2D需要设置摄像机的视角为透视perspective或正交orthogonality摄像机的far是视野范围viewport rect : W,H调整屏幕宽和高 X,Y调整屏幕在水平竖直方向的位置。若两个摄像机视野重叠,则depth深度值,大的盖住小的选中摄像机,按Ctrl+Shift+F,可快速让摄像机定位到当前位置,并且角度同视角一致。也可以定位别的物体。(要把输入法关闭)让摄像机跟着模型走:创建一个空物体player,然后把模型model和摄像机作为player的子物体,并且务必把模型的transform重置,同player一致。创建小地图:在天空放置一个摄像机向下看,然后设置该摄像机深度值depth大于模型摄像机,然后设置成2D(orthogonality)做人物标记:在人物头顶创建一个平面,然后载入三角图片。由于主摄像机不能看见三角平面标记,则给该平面设置一个层,给摄像机设置成不看见这个层。把摄像机属性skybox更改为depth only ,则只显示摄像机看得见的,其余部分会消失。instantOC(面试重点):一个插件,包括occlusion culling 和LOD一、渲染管线 渲染管线:图形数据在GPU上经过运算处理,最后输出到屏幕的过程。 绘制调用Draw Call:每次引擎(CPU)准备数据并通知GPU的过程。通俗讲:每帧调用显卡渲染物体的次数。(在starts里Batches后边显示的数字) CPU准备数据 顶点处理:中间有坐标系的转换游戏-->图形API-->CPU(决定视锥以内哪些物体需要渲染)GPU(显卡)-->顶点处理-->图元装配(连接相邻的点组成三角面)-->光栅化(计算三角面上的像素)-->像素处理(对每个像素区域进行着色)-->缓存(一个存储像素数据的内存块,最重要的是帧缓存(常在显卡中)与深度缓存z-buffer(物体距离摄像机的距离)。)一个物体不渲染,CPU与GPU性能都会提高。物体越多、物体精度越高,CPU与GPU性能越低。二、occlusion culling 即时遮挡剔除occlusion culling:在物体被渲染前,将摄像机视角内看不见的物体进行剔除,从而减少了每帧渲染数据量,提高渲染性能。(笔试考) 默认:摄像机视锥内物体都会被渲染,即使看不见也会被渲染。插件samples:每帧摄像机发射的射线数目,数量多会导致CPU性能降低,通常在150-500之间。FOV :视场<-->摄像机中filed of view View视野<-->摄像机中far hide delay延迟隐藏:射线发射次数。建议50帧-100帧之间。 PreCull Check,建议勾选。遮挡剔除同时,要为物体设置一个盒子碰撞器(绿色物理边界)。为物体加一个组件-->box collider。注意:不设置碰撞器射线射不到。遮挡剔除优点:减少渲染量。 (功能上没有损失) 缺点:CPU(射线)需要消耗额外性能。场景里物体较多且分布较密集(被遮挡的物体多)时使用遮挡剔除。三、LOD LOD(Level of Detail多细节层次):指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。 不会降低draw call优点:降低非重要物体的面数与精度,从而获得高效率的渲染运算 缺点:CPU总需要判断距离,变换模型适用性:1.场景中需要存在高精度模型 2.距离需要变化步骤:1.创建层 2.创建空物体并将模型添加到其中,模型命名:Lod_0,Lod_1,Lod_2(精度由高到低) 3.为父物体指定层与标签 4.父物体或子物体添加碰撞器组件 5.摄像机附加脚本IOCcamLod1 distance:摄像机到物体距离小于当前距离时,使用Lod_0模型。Lod2 distance:摄像机到物体距离大于Lod1且小于当前距离时,使用Lod_1模型,大于当前值使用Lod_2模型。光照系统 GI(Global illumination),即全局光照。能够计算直接光、间接光、环境光(ambient)以及反射光(reflection)的光照系统。通过GI算法可以使渲染出来的光更加真是丰富。直接光照 直接光照:directional平行光和位置无关和角度有关。point点光源相当于一个灯泡,range:范围。sport聚光灯:由一个点像一个椎体照射,相当于手电筒。物体阴影在光源选项组件里。硬阴影性能比软阴影好。阴影很消耗性能,所以需要阴影剔除。 shadow distance(阴影距离):如果等于40则等于距离摄像机40米以内渲染阴影,40米以外不渲染阴影。选中个别物体,可以在组件中选择关闭阴影环境光照 环境光照ambient source:所有物体都能感受到的光照。作用于场景内所有物体的光照,通过Environment Lighting 中Ambient 控制。•Ambient Source 环境光源--Skybox 通过天空盒颜色设置环境光照--Gradient 梯度颜色Sky 天空颜色、Equator 地平线颜色、Ground 地面颜色--Ambient Color 纯色•Ambient Intensity 环境光强度•Ambient GI 环境光GI模式--Realtime实时更新,环境光源会改变选择此项。--Backed 烘焙,环境光源不会改变选择此项。反射光照 反射光照resolution source:从天空盒中取色。根据天空盒或立方体贴图计算的作用于所有物体的反射效果,通过Environment Lighting 中Reflection 控制。•Reflection Source 反射源--Skybox 天空盒Resolution 分辨率Compression 是否压缩--Custom 自定义Cubemap立方体贴图•Reflection Intensity 反射强度•Reflection Bounces 使用Reflection Probe 后允许不同游戏对象间来回反弹的次数。间接光照 间接光照:物体表面在接受光照后反弹出来的光。(特别消耗性能)通过Light 组件中Bounce Intensity 反弹强度控制。可以通过Scene 面板Irradiance 模式查看间接光照。注意:只有标记Lightmaping Static的物体才能产生间接光。实时GI一、Realtime GI实时GI:在运行期间任意修改光源,效果实时更新。(需要预计算)实时GI在手游里慎用,太消耗性能。1.把场景里不动的物体标记为Static(静态的)2.勾选precomputed(预计算) Realtime GI 3.调整好物体点击Build(取消勾选Auto)烘焙GI二、烘焙GI(Baked GI)将光照效果做成图片贴到物体上。 当场景包含大量物体时,实时光照和阴影对游戏性能有很大影响。使用烘焙技术,可以将光线效果预渲染成贴图再作用到物体上模拟光影,从而提高性能。 适用于在性能较低的设备上运行程序。 需要把不动的物体设置为静态,只烘焙不动的物体。步骤:游戏对象设置为LightmapingStatic。设置Light组件Baking属性。启用Lighting 面板的Baked GI。点击Build按钮。(在Lightling-->Scene中)(如果勾选Auto 编辑器会自动检测场景的改动修复光照效果)Light 组件Baking 属性:烘焙模式--Realtime仅实时光照时起作用。--Baked仅烘焙时起作用。--Mixed 混合,烘焙与实时光照都起作用。可以通过Scene 面板Baked 模式查看光照贴图。光源侦测三、光源侦测由于LightMapping只能作用于static 物体,所以导致运 动的物体与场景中的光线无法融合在一起,显得非常不真 实。而Light Probes 组件可以通过Probe (侦测)收集光影信息, 然后对运动物体邻近的几个Probe 进行插值运算,最后将 光照作用到物体上。probe不宜太少也不宜太多,太少有光变化的地方侦测不到,太多消耗性能。在光有明暗变化的地方必须要有probe。 声音声音分为2D、3D两类 3D声音:有空间感,近大远小。 2D声音:适合背景音乐。• 在场景中产生声音,主要依靠两个重要组件:Audio Listener 音频监听器:接收场景中音频源Audio Source(音频源)发出的声音,通过计算机的扬声器播放声音。Audio Source 音频源音频监听器在摄像机组件中,场景中只能有一个音频监听器。如果有多个摄像机,那只能留一个,要把别的摄像机的音频监听器组件移除remove。一般游戏里声音都放在一个sounds文件夹里面。声音组件中要勾选play on awake (运行时播放)启用声音3D sound settings 3D声音的设置音量衰减 linear线性曲线(常用) X轴:单位米。Y轴:音量min distance :最小距离(距离之内无衰减) max distance:最大距离(超过距离就没有声音了)
2023年03月01日
119 阅读
0 评论
0 点赞
2023-03-01
Unity3D完美的异步解决UniTask
UniTask简介UniTask的特点为 Unity 提供有效的无GC async/await集成。基于Struct UniTask 的自定义 AsyncMethodBuilder,实现零GC,使所有Unity的异步操作和协程可以await基于PlayerLoop的Task( UniTask.Yield、 UniTask.Delay、 UniTask.DelayFrame 等)这使得能够替换所有协程操作MonoBehaviour 消息事件和 uGUI 事件为可使用Await/AsyncEnumerable完全在 Unity 的 PlayerLoop 上运行,因此不使用线程,可在 WebGL、wasm 等平台上运行。异步 LINQ,具有Channel和 AsyncReactiveProperty防止内存泄漏的 TaskTracker (Task追踪器)窗口与Task/ValueTask/IValueTaskSource 的行为高度兼容为什么需要 UniTask(自定义类似Task对象)?因为原生 Task 太重,与 Unity 线程(单线程)不匹配。UniTask 不使用线程和SynchronizationContext/ExecutionContext,因为 Unity 的异步对象由 Unity 的引擎层自动调度。它实现了更快和更低的分配,并且与Unity完全集成。插件使用要求UniTask 功能依赖于 C# 7.0(类似Task的自定义异步方法生成器特性),所以需要的Unity版本是在Unity 2018.3之后,官方支持的最低版本是Unity 2018.4.13f1。
2023年03月01日
1,431 阅读
0 评论
1 点赞
2023-02-14
unity资源文件夹在哪
1:unity官网下载的资源包在哪从官网商店下载的资源默认会保存在C盘中,默认路径如下:C:Users用户名AppDataRoamingUnityAsset Store注意:文件夹有可能是隐藏的。2:Unity资源文件夹介绍1. 编辑时在Asset文件下存在Resources和SteamingAsset文件夹;Resources只读不可修改,打包时直接写死,没有办法通过热更新替换资源;可以存放任何格式的资源;通过Resources.Load加载;一般只存登录UI,congfig配置等不会修改的文件;SteamingAssets存放打包后Unity打包后的资源,也就是我说的AssetBundle(ab包);可读可写,打包后移动端不能使用File类读取(用过www读取streamingAssetspath数据拷贝到persistentDataPath);2.安装后Application.dataPath包含游戏数据文件夹的路径,app程序包安装路径(不常用);UnityEditor——默认Assets——可读可写 using StreamReader/StreamWriter/异步Andriod——data/app/xxx.apk——不可读不可写IOS——Application/.....app/Data——可读不可写(读没意义)Application.streamingAssetsPath数据流换成目录,外部数据文件(二进制,AssetsBundle.csv、数据裸露不加密);除了Andriod都可读可写,使用WWW或者System.IO都可以;Andriod只读,只能用WWW读写——第三方压缩/解压库实现读写(待研究);安装包资源目录,不可修改;Application.presistentDataPath持久化存储目录,应用更新、覆盖安装都不会清除;全平台可读可写——stream和file都可以读写;热更新资源存放目录;Application.temporaryCachePath临时换成目录,可读可写(只有ios常用);3.AssetBundle资源压缩文件(ab包),非路径,一种压缩文件的格式;通过的File读取后,解析成需要的对象;
2023年02月14日
689 阅读
0 评论
0 点赞
2023-02-14
unity和ue4能互通吗
unity和ue4之间如果是一些基础的资源比如贴图和音频一类的是可以的,但是unity的一些独有的,比如预制体等,就不能与ue不通用了。不过素材是可以用的,只不过因为unity和ue4的渲染不完全一样,因此素材最好是微调一下再导入ue4,来保证可以有最好的使用效果。但是ue4的资源是可以通过Exporter for Unreal to Unity 2022 v1.22导入到unity的。两者之间的效果略有不同,感兴趣的可以试一试。插件截图:效果预览:
2023年02月14日
126 阅读
0 评论
0 点赞
1
2