草庐IT

Unity_Photon

全部标签

【Unity编辑器扩展】| 自定义窗口和面板

前言【Unity编辑器扩展】|自定义窗口和面板一、EditorWindow二、ScriptableWizard三、编辑器绘制3.1文本输入3.2空行3.3滑动条、进度条3.4枚举选择3.5其他总结前言前面我们介绍了Unity中编辑器扩展的一些基本概念及基础知识,还有编辑器扩展中用到的相关特性Attribute介绍。后面就来针对Uniity编辑器扩展中比较常用的模块进行学习介绍。本文就来详细介绍一下U

第二章:unity性能优化之drawcall优化-1

目录 前言:一、什么是drawcall二、如何合批 1、什么是合批? 2、静态批处理1、什么是静态批处理:2、静态合批的规则3、动态批处理4、GPUInstancing1、GPUinstancing的定义    2、编写支持GPUinstancingShader步骤5、ScriptableRenderPipelineBatch(SRPBatch)1、SRPBatch的定义2、SRPBatch工作原理3、SRPBatch规则4、支持SRPBatch的管线 总结: 前言:           有时候内存并不是我们的瓶颈,可能渲染drawcall过多是我们的压力,drawcall过多的最直接后果是程

Unity的IPostGenerateGradleAndroidProject:深入解析与实用案例

UnityIPostGenerateGradleAndroidProjectUnity是一款流行的跨平台游戏引擎,它支持多种平台,包括Android。在Unity中,我们可以使用IPostGenerateGradleAndroidProject接口来自定义Gradle构建过程。本文将介绍如何使用IPostGenerateGradleAndroidProject接口,并提供三个使用例子。IPostGenerateGradleAndroidProject接口IPostGenerateGradleAndroidProject接口是Unity提供的一个接口,它允许我们在Gradle构建过程中执行自定义

【Unity编辑器扩展】| SceneView面板扩展

前言【Unity编辑器扩展】|SceneView面板扩展一、Scene界面添加右键菜单二、自定义菜单的方式三、Scene视图中禁用选择对象四、OnSceneGUI()五、Gizmos5.1绘制线框5.2拓展方法六、Handles总结前言前面我们介绍了Unity中编辑器扩展的一些基本概念及基础知识,还有编辑器扩展中用到的相关特性Attribute介绍。后面就来针对Uniity编辑器扩展中比较常用的模块进行学习介绍。

android - Unity 游戏引擎上的语音识别

我已经成功地实现了在Android上开发一个使用GoogleAPI语音识别的应用程序的目标。但事实是我必须使用真正的游戏引擎,因为我的应用程序将是跨平台的,并且具有非常丰富的用户界面和手势。我正在考虑使用UnityGameEngine,我打算将我的应用程序部署到iOS和Android平台。所以...在网络上搜索...我发现我不能在UnityGameEngine上使用GoogleSpeechRecognitionAPI,因为它属于Google...是真的吗?你能给我一个关于如何实现这个的建议吗?第一个选项:实现第三方库或Unity语音识别API。哪些?第二个选项(有可能吗??):将语音转

【Unity】【Amplify Shader Editor】ASE入门系列教程第二课 硬边溶解

黑色为0,白色为1新建材质(不受光照影响) 拖入图片 设置 添加节点:快捷键:K 组合通道:快捷键V完成图 

第十一章 Unity Transform组件(上)

本章节我们介绍Transform类,它是一个组件,每一个游戏对象有拥有该组件。因此,它值得我们重点介绍一下。Transform代表了游戏对象的世界变换,也就是移动,选择和缩放。首先,我们先介绍它的属性(类变量),如下所示1.gameObject附加到的当前游戏对象,来自父类Component2.name当前游戏对象的名称,来自父类Component3.tag当前游戏对象的标签,来自父类Component4.transform当前游戏对象的Transform,来自父类Component因为所有的组件都继承自Component,所以所有的组件都会有以上四个类实例变量。接下来,我们介绍Transfo

Unity中实现高级相机操作——Cinemachine插件

一:前言Cinemachine可以快速实现各种相机效果,例如跟随、分镜、推拉式镜头等,配合Timeline可以创建CinemachineTrack实现动画融合二:执行流程从PackageManager上可以下载Cinemachine插件,它有以下几种类型的虚拟相机可以创建Cinemachine在性能上非常高效,因为创建出来的是VirturalCamera,它只是一个数据类只存储数据而不是真实的相机无论创建哪一种VirturalCamera,都会为Camera上添加一个CinemachineBrain脚本,CinemachineBrain每帧通过VirturalCamera计算真实相机的数据,并

unity 碰撞检测的四种检测模式

四种检测模式Discrete:离散检测通过在物理间隔时间中检测碰撞来工作对场景中的所有其他碰撞体使用离散碰撞检测,其他碰撞体在测试碰撞时会使用离散检测。用于正常碰撞(默认值)缺点:快速移动的物体可能会错过碰撞检测,可通过减少物理计算间隔时间,但会影响性能Continuous:连续检测通过collider线性向前移动到下一帧的投影点来实现检测,就像一个boxcase检测这种模式非常耗费性能对动态碰撞体(具有刚体)使用离散碰撞检测对静态碰撞体(没有刚体)使用连续碰撞检测设置为连续动态的刚体,将在测试与该刚体的碰撞时使用连续碰撞检测(物理性能消耗较大,物体运动缓慢时请设置为Discrete)其他刚体

给XLua生成Unity Api的EmmyLua代码提示

问题背景编写Lua代码时使用Unity的Api没有代码提示影响效率,需要一个类型系统和代码提示,下面来解决这个问题支持类型系统Lua是动态语言,不支持声明变量类型,需要从语言外入手。有个插件叫EmmyLua,可以使用添加特殊注释的方式构建类型系统,形如---@classCS.UnityEngine.Vector3:CS.System.ValueType---@fieldkEpsilonnumber---@fieldkEpsilonNormalSqrtnumber---@fieldxnumber---@fieldynumber---@fieldznumber---@fieldzeroCS.Uni