草庐IT

Unity 编辑器篇|(十一)Gizmos (全面总结 | 建议收藏)

目录1.前言2参数总览3Gizmos绘制3.1立方体:DrawCube3.2视锥:DrawFrustum3.3贴图:DrawGUITexture3.4图标:DrawIcon3.5线段:DrawLine3.6网格:DrawMesh3.7射线:DrawRay3.8球体:DrawSphere3.9Cube网格线:DrawWireCube3.10Mesh网格线:DrawWireMesh3.11Sphere网格线:DrawWireSphere1.前言Gizmos能且只能在MonoBehaviour相关子类中,使用特定的函数调用,其中:OnDrawGizmos()在每帧调佣。所有在OnDrawGizmos

【Unity 3D】AssetBundle工作流程、打包策略详解(超详细必看)

Unity的AssetBundle是一个资源压缩包,包含模型、贴图、预制体、声音甚至整个场景,可以在游戏运行时被加载,AssetBundle自身保存着互相的依赖关系,压缩包可以使用LZMA和LZ4压缩算法,减少包大小,更快的进行网络传输,把一些可以下载的内容放在AssetBundle里面,可以减少安装包的大小AssetBundle是一个存在于硬盘上的文件,压缩包中包含了多个文件,如各种图片、声音等等,方便快速加载,可以在Editor上读取,方便查看,可以通过代码从一个特定的压缩包中加载出来对象,这个对象包含了所有添加到这个压缩包里面的内容,可以通过这个对象加载出来使用AssetBundle工作

仿写unity的standard一样效果的PBR shader

1.首先了解一下PBR的物理理论:光在照射到物体表面时,发生了反射(Reflection,镜面反射)和折射,而进入物体内的光一部分被再次散射出来,另一部分被吸收了(往往会转变为热量消耗掉)。散射出来的光有漫反射(diffsion),3S(SSS)等。PS:在游戏当中,如果画面像素大于散射距离的话意味着这些次表面散射产生的距离可以被忽略,反之,我们就需要用特殊shader来模拟3S效果。2.PBR:(直接光+间接光)2.1直接光(含漫反射和镜面反射):翻译成人话:BRDF方程的配平系数:(不是很懂,两个点乘是和微平面有关)公式推导过程:PBR反射方程推导2.1.1PBR的Lambert漫反射计算

Unity 抽象工厂模式(实例详解)

文章目录简介实例1实例2简介抽象工厂模式是一种创建型设计模式,它提供了一种方式来封装一组相关或相互依赖对象的创建过程,而无需指定具体类。这种模式常用于系统中有多组相关产品族,且客户端需要使用不同产品族中的对象时。在Unity中,抽象工厂模式可以用于创建一组相关对象,例如不同类型的UI元素(按钮、文本框等)。这里给出一个简化版的实例:实例1首先,定义抽象工厂和抽象产品接口:publicinterfaceIUIFactory{IUIButtonCreateButton();IUITextBoxCreateTextBox();}publicinterfaceIUIButton{voidDisplay

unity人物模型与动画控制技术

目录写在前面:unity人物模型与动画控制技术1.下载人物模型2.将人物模型导入项目中 3.下载动画文件4.动画状态机(1)FastRun与idle的相互转换(2)punching状态的转换 (3)jumping状态的转换5.将动画绑定到模型上6.使用代码控制写在前面:    该博客作为3D游戏编程的课程设计。在完成了一个学期课程的学习过后,我自认为够详细的写出unity使用教程,方便初学者学习,激发更多人对于制作游戏的热情,例如这篇博客详细介绍了如何在unity中实现对人物模型的动画控制,因此认为自己本课程应得优秀。    以下是该博客的详细内容unity人物模型与动画控制技术1.下载人物模

Unity之做一个最简单的FPS游戏demo

目录😋FPS游戏Demo💤1.新建FPS模板项目⚒️2.装备枪 💣3.设置射击功能📺4.制造一个子弹预制体 🎮5.发射子弹说起来小编学Unity差不多一个月了,都是利用上班摸鱼时间学的(doge.jpg)。今天终于迎来了一直想做的FPS游戏demo。【10分钟制作第一人称射击游戏-Unity游戏开发】 小编是根据小破站这个教程学的,好的教程分享给大家,然后在此基础上小编还加了子弹拖尾和开火特效。下面小编以博客的形式教大家做这个游戏demo,角色控制器是项目模板自带的,我们只需要加上枪编辑好发射子弹功能就可以了,非常简单。😋FPS游戏Demo💤1.新建FPS模板项目 首先我用的UnityHUB版

Unity Raycast用法

一.Raycast的概念Raycast是Unity中常用的一种技术,用于检测游戏场景中的碰撞和交互。通过投射一条光线来判断光线是否与场景中的物体相交,并获取相交点的信息。Raycast广泛应用于游戏中的物体拾取、射线武器、碰撞检测等方面。二.Raycast的基本用法在Unity中,使用Raycast非常简单。首先,我们需要为光线定义起点和方向。然后,使用Physics类的Raycast方法进行光线投射,并获取光线与物体相交的结果。下面是一个示例代码,演示如何在Unity中进行Raycast检测:voidUpdate(){if(Input.GetMouseButtonDown(0)){Rayra

6000字保姆级大白话教你Unity接入FaceBook SDK

文章目录前言一、接入Facebook可以干什么?二、接入步骤1.下载Facebook对Unity支持的SDK2.导入SDK3.Facebook开发者平台创建应用4.切换项目平台5.配置Facebook三、构建APK总结前言最近博主也是开始找大四实习了,由于工作需要,需要接海外的sdk,例如admob、twitter、facebook等等,由于以前在校都是所作的项目都是跟taptapsdk打交道,以至于接入这些sdk这块造成了挺久的困惑,所以在这里先记录一下Unity如何接facebook的sdk。一、接入Facebook可以干什么?在现如今的数字时代,社交媒体的影响力越来越大。作为全球最受欢迎

Unity改变物体颜色

usingUnityEngine;usingSystem.Collections;usingSystem.Collections.Generic;publicclassChange_Color:MonoBehaviour{voidStart(){GameObjectCube=GameObject.CreatePrimitive(PrimitiveType.Cylinder);Cube.GetComponentRenderer>().material.color=newColor(1,0,0);//重点是这一句}voidUpdate(){}}参考:https://blog.csdn.net/we

GameFrameWork框架(Unity3D)使用笔记(八) 实现场景加载进度条

前言:    游戏在转换场景的时候,需要花费时间来加载相关的资源。而这个过程往往因为游戏场景的规模和复杂度以及玩家电脑配置的原因花费一小段时间(虽然这个项目里用不到)。    所以,如果这一小段时间,画面就卡在这里,啥也做不了,玩家也不知道啥时候能加载好。这个等待的时间实际上非常地影响玩家的使用体验。    目前大多数游戏在转换关卡这种时候都会有个加载界面,显示加载进度。这样玩家可以对啥时候能加载好有个心理预估(判断要不要因为加载太久浪费时间不如卸载游戏(开个玩笑))。    一般加载场景显示进度条的方法搜搜就有了,就是利用Unity自带的异步加载函数SceneManager.LoadScen