
Unity 3D
文章平均质量分 60
Unity 3D学习过程成长
Weirdoand
记录学习过程 体验人生百态
展开
-
C#高级 (设计模式实例)
设计模式🌈简单工厂模式原创 2022-03-14 15:15:50 · 2859 阅读 · 0 评论 -
Unity Shader(顶点片元着色器Vertex&Fragment)
编译指令编译指令 功能:告知编辑器顶点和片段着色函数的名称 顶点着色器的编译指令 每有一个顶点执行一次 #pragma vertex vert 片元着色器的编译指令 每有一个像素就执行一次 #progma fragment frga 顶点语义绑定顶点的模型坐标 float4 POSITION 顶点的屏幕坐标 float4 SV_POSITION 顶点的法线向量坐标 float3 NORMAL原创 2022-02-21 11:16:22 · 1337 阅读 · 0 评论 -
Unity Shader(表面着色器Surface Shader)
基本数据类型float 32位浮点数 float2——float2(float,float) float3——float3(float,float,float) float4——float4(float,float,float,float) half 16位浮点数 half2——half2(half,half) half3——half3(half,half,half) half4——half4(half,half,hal原创 2022-02-14 20:03:51 · 1545 阅读 · 0 评论 -
Unity Shader(固定管线着色器)
固定管线着色器 Shader指令顺序图 Rander Setup Properties Properties 浮点数(Float) _FloatValue("一个浮点数",float) = 0.4 范围浮点数(Range) _RangeValue("一个范围浮点数",Range(1,100)) = 50 四维数(Vector) _VectorValue...原创 2022-02-13 17:56:42 · 939 阅读 · 0 评论 -
Unity Shader
什么是Shader图像渲染管线(如何把3D的渲染图片呈现在2D图片上)原创 2022-02-08 16:33:03 · 1109 阅读 · 0 评论 -
Unity Video Player(视频)
组件信息视频源 视频文件/URL(前提是再要本地中) 视频片段文件 Play On Awake 游戏开始时播放 Loop 循环 Playback Speed 播放速度 RendererMode Camera Far Camera Near Rander Texture material API Audio Direct(简单播放) AudioSource(使用AudioSource组件播放) WWW(使用IO流的原创 2022-02-03 23:12:07 · 2026 阅读 · 0 评论 -
Unity WWW(下载类)
创建下载对象WWW data = new WWW(下载地址); 等待下载 ① yield return data(WWW) ② While( ! data.isDone) { yield return null } 下载方式Get 信息参数显示在URL中 Post 信息参数不显示在URL中 获取下载资源文本 data.text 图片 data.texture 视频 data.GetMovieT原创 2022-02-03 22:51:10 · 1287 阅读 · 0 评论 -
Unity Coroutine(协程)
程序 进程 主线程(操作Unity相关的对象、组件...) 子线程 子线程 ... 协同程序(Coroutine)概念:伴随着主线程一起运行的一段程序注意:协程与协程之间是并行执行,与主线程也是并行执行。创建协程方法 返回值关键字IEnumerator 必须返回yield return 1、返回对象(有构造的执行构造) 2、等待下一帧继续执行 特殊的yield r...原创 2022-01-31 18:22:27 · 850 阅读 · 0 评论 -
Unity 优化(Draw Call)
介绍Draw Call:CPU向GPU发布渲染命令 Draw Call越大:CPU的占有率就会越高优化 优化DrawCall 介绍 批处理 静态批处理 要求宽松,批处理量比较大(不能移动、不能旋转) 路径 (需要勾选) File-BuildSettins-PlayerSettings-OtherSettings-StaticBatching 动态批处理...原创 2022-01-20 21:38:49 · 819 阅读 · 0 评论 -
Unity(Pivot和Anchor)
UI搭建技巧搭建顺序 从底层到上层 UI的名字要见名知意,不要乱起名字 搭建UI时要非常注意父子关系 谁(按钮)属于谁(窗口) 谁(按钮)就是谁(窗口)的子对象Pivot 轴点,中心点Anchor 锚点,控制UI的显示,方便UI在不同缩放上正确显示,完成UI自适应 拓展:...原创 2021-11-22 15:57:14 · 760 阅读 · 0 评论 -
Unity(GUI)
作用:GUI一般用于测试Rect(x,y,width,height) 描述:创建一个2D矩形来存放UI工具 形参:x,y(坐标位置)width,height(宽度,长度)自动布局:GUI GUI.Label() 描述:在游戏视图上创建一个文本或纹理标签 GUI.Button() 描述:标准按钮,可通过单击来触发事件 GUI.TextFiel...原创 2021-11-18 18:59:09 · 696 阅读 · 0 评论 -
Unity(Canvas)
Render Mode Screen Space - Overlay(不需要摄像机,UI是永远显示在屏幕的最上方) 通常在使用纯2DUI,选择这种渲染模式。UI在屏幕的四周,功能性的UI Sort Order(层编号)Screen Space - Camera(需要摄像机,通常在使用2DUI和3D物体并存的场景中使用该模式) PlaneDistance(摄像机与画布距离...原创 2021-11-23 21:16:20 · 541 阅读 · 0 评论 -
Unity脚本生命周期(Order)
回调函数执行前提:脚本必须以组件的方式挂载到一个游戏对象身上第一帧调用一次 Awake() 描述:游戏开始后第一个调用的回调函数,调用一次 特点:当脚本组件处于不可用时,依然执行 OnEnable() 描述:每当脚本组件被设置为可用时调用一次 Start() 描述:在OnEnable之后调用,但在整个游戏过程中,只会...原创 2021-11-05 15:43:03 · 374 阅读 · 0 评论 -
Unity(Quaternion)
如何表达一个物体的空旋转【欧拉角中的0,0,0】transform.rotation = Quaternion.identity;求当前玩家指向敌人的方向向量 敌人位置 自己位置Vector3 dir = enemy.position - transform.position;将向量转换为四元数target = Quaternion.LookRotation(dir);插值旋转(一直面对着一个目...原创 2021-11-10 00:58:56 · 400 阅读 · 0 评论 -
Unity(Prefab)
Instantiate(生成预设体) 三个参数:预设体、位置(Vector3)、旋转(Quaternion)原创 2021-11-11 18:01:04 · 503 阅读 · 0 评论 -
Unity【Ray、Physics、RaycastHit】(用于检测碰撞体)】
射线类Ray 射线组成部分 起点(origin) 方向(direction) 获取鼠标屏幕射线 ScreenPointToRay原创 2021-11-15 19:30:36 · 1589 阅读 · 0 评论 -
Unity(Transform)
当前游戏对象的世界坐标 transform.position 当前游戏对象的相对于父物体的坐标【本地坐标】 transform.localPosition 当前游戏对象的世界旋转【欧拉角】 transform.eulerAngles 当前游戏对象的本地旋转 transform.localEulerAngles 当前游戏对象的世界旋转【四元数】 t...原创 2021-11-08 21:26:16 · 388 阅读 · 0 评论 -
Unity(UGUI)
UGUI简介版本变换:GUI -> NGUI -> UGUI更新版本:4.6 特点:引擎内置,结合紧密;运行稳定,操作简便Rect Transform Pivot(轴点,中心点) Anchor(锚点,控制UI的显示) 特殊属性:sizeDelta(宽高) Rich Text:(副文本)在文本框中输入<b> 需要加...原创 2021-11-18 20:32:58 · 1323 阅读 · 0 评论 -
Unity (GameObject)
GetComponent() 获取当前游戏对象的组件AddComponent() 添加一个组件到游戏对象上,并返回这个组件找其他游戏对象GameObject.Find()缺点1:如果出现重名,可能就找不到你想要的那个对象了 缺点2:如果对象很多太消耗性能 通过name 不能找到非激活的对象 GameObject.FindWit...原创 2021-11-05 16:41:56 · 307 阅读 · 0 评论 -
Unity(Time)
从上一帧结束到当前帧开始的时间间隔【每帧的时间间隔】Time.deltaTime;固定的时间间隔【单调函数执行的时间间隔】(效果跟deltaTime一样,时间间隔固定为0.02)Time.fixedDeltaTime尽量不要修改这个值 默认为:0.02从游戏开始,到现在的时间间隔Time.time;时间缩放【时间比例】 默认为:1 (时间倍速)Time.timeScale = 2;...原创 2021-11-10 01:16:50 · 297 阅读 · 0 评论 -
Unity 3D & 2D(碰撞器Collision和触发器Trigger)
碰撞事件碰撞产生的条件 两物都有Collider 至少有一个带有RigidBody回调方法 OnCollisionEnter(Collision other) 碰撞开始一瞬间时调用一次 OnCollisionStay(Collision other) 碰撞过程中相对运动时持续调用,...原创 2021-11-15 18:01:14 · 4927 阅读 · 0 评论 -
Unity 3D(多个脚本中里有Awake、Start)回调函数设置先后顺序
第一种方法Edit --> Project Settings --> Script Execution Order第二种方法 先点击某个C#文件 -->数值越小越先运行原创 2021-11-05 15:50:49 · 766 阅读 · 0 评论 -
Unity Rigidbody(刚体)
Mass 对象的质量(默认为千克)。 Drag 根据力移动对象时影响对象的空气阻力大小。0 表示没有空气阻力,无穷大使对象立即停止移动。 Angular Drag 根据扭矩旋转对象时影响对象的空气阻力大小。0 表示没有空气阻力。请注意,如果直接将对象的 Angular Drag 属性设置为无穷大,无法使对象停止旋转。 Use Gravity 如果启用此属性,则对象将受重力影响。 Is Kinematic 如果启用此选项,则对象将不会被物理引擎驱动,只能通过__变原创 2021-11-16 17:18:56 · 1216 阅读 · 0 评论 -
Unity (Input)
键盘(KeyCode.某个键)Input.GetKey( ); (按住)Input.GetKeyDown( ); (按下)Input.GetKeyUp( ); (抬起)鼠标(0左1右2中); Input.GetMouseButton( ); (按住) Input.GetM...原创 2021-11-10 19:13:05 · 272 阅读 · 0 评论 -
Unity(Vector3)
说明:Vector3是一个三维向量但也不一定用于表示三维向量只要是三个浮点数组成的数据都可以用Vector3去表示返回一个向量的标准化向量 Vector3 normal = vector.normalized;打印向量的模 Debug.Log("1:" + vector.magnitude); 使当前向量变成一个单位向量 vector.Normalize(); 打印向量的模...原创 2021-11-10 00:52:59 · 2790 阅读 · 0 评论 -
Unity(动画)
Animation旧版可以制作帧动画 选中要添加动画的游戏对象 打开Window → Animation 创建动画添加属性 Add Properties 设置关键帧 调正属性 调整每秒刷新的帧数 Animation窗口创建动画片段Clip 预览播放 当前帧显示 上一帧 下一帧 设置每秒帧数...原创 2021-12-08 20:43:30 · 2377 阅读 · 0 评论 -
Unity (画布模式)
Canvas属性介绍ScreenSpace - Overlay(不需要转换坐标) UI的坐标系与屏幕的坐标系是一样的ScreenSpace - Camera(需要转换坐标)UI坐标系与屏幕的坐标系是不一样的 转换坐标:...原创 2021-12-08 18:26:43 · 503 阅读 · 0 评论 -
Unity [...]方法、属性
正常的[System.Serializable]原创 2021-12-22 17:15:03 · 850 阅读 · 0 评论 -
Unity(特效系统)
拖尾效果(Trail Renderer) Material 材质 Time 消失时间 Width 宽度 Color 颜色 线性渲染(Line Renderer) 粒子系统...原创 2021-12-19 21:24:25 · 834 阅读 · 0 评论 -
Unity (NavMeshAgent 导航系统)
描述:一个角色在特定环境下自动到达指定目标导航网格(NavMesh) 1、设置导航静态物体(NavigationStatic)从头至尾不会Transform属性不会发生改变的 环境对象 2、烘焙网格前的设置a.打开Navigation窗口 Agent Radius(角色半径) Agent Height(角色高度) Max Slope(角色可以爬的最大坡度) b.设置角色Size Step Height...原创 2021-12-17 16:44:38 · 1785 阅读 · 0 评论 -
Unity Character Controller(角色控制器)
第三种控制角色移动的方式 面板属性 常用方法原创 2021-11-30 21:21:58 · 1590 阅读 · 0 评论 -
Unity(动画层 & IK动画)
动画层 关于动画层的使用 → 用于融合不同部位的动画 动画层设置 Weight(权重) → 该层动画执行的比例 Mask(遮罩) → 该层动画可以控制身体的哪些部分 Humanoid中的人型时面对我们的 ...原创 2021-12-15 19:11:23 · 3350 阅读 · 0 评论 -
Unity(SceneManager和Application)
SceneManger类LoadScene(切换场景、加载场景) LoadSceneAsync(异步切换场景、异步加载场景)Application类 runlnBackground(支持后台运行) dataPath(返回当前工程的Assets文件夹路径) persistentDataPath(根据发布的平台,返回一个持久化路径) CaptureScreenshot(截屏) Op...原创 2021-11-30 21:18:55 · 916 阅读 · 0 评论 -
Unity(UI布局组件)
HorizontalLayoutGroup(水平布局) padding边距(被布局控件与四边框的距离) Spacing间距(被布局控件之间的距离) Child Alignment 子物体对齐方式ChildForceExpend自适应宽高VerticalLayoutGroup(垂直布局)...原创 2021-11-26 18:35:11 · 1188 阅读 · 0 评论 -
Unity(Light(灯光) && AudioSource(声音))
声音 声音组件 AudioSource 声音选项 2D声音 没有位置概念,在哪都能听到 3D声音 有位置概念,只有距离声音较近的地方才能听到 面板属性AudioClip 声音片段 Mute 静音 PlayOnAwake 游戏开始时播放声音 Loop 是否循环播放 ...原创 2021-12-13 22:04:13 · 729 阅读 · 0 评论 -
Unity (动画曲线Curves & 动画事件 )
动画事件 1、函数必须是public,且方法名必须和事件名一样 2、方法必须是放置在该人物对象身上的脚本组件中 3、参数只能添加一个,且参数类型只能是Float,Int,String,Object之一 4、添加了帧事件,必须要在代码里声明事件方法,否则报错动画曲线Curves动画曲线就是一个在动画播放过程中变化的数据【变量】 通过这个变量可以设置一...原创 2021-12-16 19:47:03 · 1948 阅读 · 0 评论 -
Unity(UGUI的回调函数)
前提条件 当前UI对象必须有至少一个基础组件(Text、Image、Raw Image) 基础UI组件中必须勾选Raycast Target 代码引入命名空间:using UnityEngine.EventSystems;可回调方法 eventData.pointerEnter(返回触发某个回调时,鼠标进入的UI对象)注意:抬起鼠标的回调方法,必须在当前UI范围内按下,然后在当前...原创 2021-11-27 19:38:35 · 786 阅读 · 0 评论 -
Unity (StateMachine(动画状态机) && Blend Tree(融合树))
StateMachineOnStateEnter 进入状态时执行一次 OnStateUpdate 在状态中,每帧执行一次 OnStateExit 离开状态时执行一次 OnStateMove 执行动作的时候每帧执行一次 OnStateIK 执行IK动画时每帧执行一次 Blend Tree 什么时候使用融合树? → 当你的动画是不同方向的动画时 融合树的参数类型 → ...原创 2021-12-15 08:46:50 · 929 阅读 · 0 评论 -
Unity(数据的储存&解析)
计算机储存数据的区域硬盘(数据永远存储在电脑上) 软盘、 数据的删除都是由用户/程序决定的 内存(关闭软件就全丢了) 程序运行时分配内存、 程序结束时回收内存、 CPU缓存 PlayerPrefs(Unity内置持久化储存类) 储存类型Float Int String 使用范围PC( OS X,Windows,Linux ) iOS Android ... ...原创 2021-12-28 18:23:29 · 2269 阅读 · 0 评论 -
Unity ScrollView(滚动视图)
Content 滚动内容Horizontal 开启水平滚动Vertical 开启垂直滚动MovementType 运动方式 Unrestricted ...原创 2021-11-26 19:00:47 · 2052 阅读 · 0 评论