草庐IT

Unity-Koreography

全部标签

Unity学习笔记之UI

三种UI系统:                  OnGUI:最早的UI系统,纯代码实现,写法类似Update                           优点:出现很早,纯代码可控制                           缺点:只能程序开发                  NGUI:Unity著名插件,可实现2D和3D的界面,出现在老项目                           优点:功能完整,集成了动态效果                           缺点:性能较弱,交互使用物理引擎实现,需要付费                  UGUI:官方

四、Unity中颜色空间

Unity中的设置通过点击菜单Edit->ProjectSettings->Player页签->OtherSettings下的Rendering部分进行修改,参数ColorSpace可以选择Gamma或Linear。当选择GammaSpace时,Unity不会做任何处理。当选择LinearSpace时,引擎的渲染流程在线性空间计算,理想情况下项目使用线性空间的贴图颜色,不需要勾选sRGB,如果勾选了sRGB的贴图,会通过硬件特性采样时进行线性转换。硬件支持 线性空间需要图形API的硬件支持,目前支持的平台Windows,MacOSx和Linux(Standalone)XboxOnePS4And

Unity开源游戏项目学习---坦克大战

记录我的Unity开源游戏项目——坦克大战的学习开源项目地址:https://gitee.com/hupeng_admin/Tank该开源项目比较简单,很适合初学者学习,如果想提升自己的代码水平或想了解游戏开发的整体框架,可以学习这个开源项目。一、使用静态类用于存储游戏中的各种数据usingUnityEngine;namespaceConstant{//////描述:用于管理游戏中的常熟数据///​publicstaticclassGameConst{//玩家出生点坐标publicstaticVector3Player1BornVector3=newVector3(-2,-8,0);publi

Unity 事件监听与广播(高度解耦合,观察者模式)

文章目录1.目的2.主要思路3.基础类4.EventCenter事件中心类5.测试1.目的使用观察者模式降低模块间的耦合性2.主要思路通过C#的Dictionary存放事件码和事件的委托添加事件:判断字典是否有该事件码,没有添加判断当前委托类型与添加的事件码的类型是否一致最后订阅该事件移除事件:先判断事件码是否存在取消订阅最后判断事件码是否为空,是null则移除事件码广播事件:若事件委托不为null,广播事件3.基础类SingletonBase单例模式基类/**FileName:SingletonBase*Author:ming*CreateTime:2023/6/2811:46:00*Des

Unity中实现世界坐标到GPS经纬度的转换解决方案

在Unity3D中,将世界坐标转换为GPS经纬度是一个常见的需求,特别是在开发基于地理位置的应用程序时。本文将提供一种详细的解决方案,包括相应的源代码,以帮助您实现这一转换。步骤1:获取参考点的GPS经纬度首先,您需要获取一个已知GPS经纬度坐标和对应的Unity世界坐标。这个参考点可以是现实世界中的一个已知位置,例如一个标志性建筑物或地标。步骤2:计算参考点的缩放因子在Unity中,世界坐标和GPS经纬度坐标之间的转换需要一个缩放因子。该因子用于将Unity世界中的单位长度映射到经纬度坐标系统中的度数。首先,计算参考点的Unity世界坐标与GPS经纬度之间的距离。您可以使用Unity的内置距

Unity粒子系统ParticleSystem各模块及其参数学习

粒子系统控制面板默认有4个模块:ParticleSystem(主模块),Emission(发射模块),Shape(形状模块),Renderer(渲染器模块)1.ParticleSystem模块包含了影响整个粒子系统的全局设置,主要用来初始化粒子系统,例如设置例子初始化时间、循环方式、初始速度、颜色、大小等基本参数Duration系统运行时长Looping循环播放Prewarm启用后,系统会初始化至已经完成一个完整周期时的状态StartDelay系统运行前的延迟时间StartLifetime粒子的存活时间StartSpeed粒子的初始速度3DStartSize启用后可以单独控制每个轴的大小(对粒

Unity防止UI点击穿透

主要涉及API:EventSystem.current.IsPointerOverGameObject()EventSystem.current.IsPointerOverGameObject(Touch.fingerId)//鼠标点击if(EventSystem.current.IsPointerOverGameObject()){//TODO:点击在了UI上}//手机上触屏模式需要传入手指ID//经测试,始终返回false,未知原因if(EventSystem.current.IsPointerOverGameObject(touch.fingerId)){//TODO:点击在了UI上}同

Unity取色器实现

目录序一、简单介绍二、原理三、实现1、取色2、根据颜色设置取色器四、完整代码五、示例资源序Unity编辑器的取色器很好用,但是如何在项目中使用,这就难倒了我,查查找找,终于完成了功能。于是在这里简单记录一下。一、简单介绍演示如上所示,一个简单的取色功能,加上一个反向定位取色板功能二、原理首先通过一个色环图片,获取到色环上的基础颜色,再通过分辨率,对内部色盘进行HSV转化,最后通过内部色盘获取最终颜色三、实现1、取色通过鼠标的点击、拖拽更新色环所需要的颜色 publicvoidOnPointerDown(PointerEventDataeventData){CircleMove(eventDat

Unity3D介绍和VR领域的使用说明

目录Unity3D介绍Unity3D是否能用在VR游戏开发?Unity3D跟虚幻引擎比,优缺点?Unity3D可以开发微信游戏小程序吗?Unity3D可以自学吗?Unity3D视频分享图Unity3D介绍Unity3D是一种跨平台游戏引擎,可用于开发2D和3D游戏、应用程序和交互式体验。Unity3D支持多种平台,包括PC、手机、终端、虚拟现实和增强现实设备。Unity3D具有易于使用、灵活、高度可定制和强大的工具、编辑器和API。使用Unity3D,开发者可以使用C#或UnityScript编写脚本,并使用Unity的可视化编辑器来组合场景、添加动画、处理碰撞检测、设置灯光等。Unity3D

Unity3D 在做性能优化时怎么准确判断是内存、CPU、GPU瓶颈详解

Unity3D是一款广泛应用于游戏开发的跨平台游戏引擎,但在开发过程中,我们经常会遇到性能瓶颈问题,如内存、CPU和GPU瓶颈。本文将详细介绍在Unity3D中如何准确判断和解决这些瓶颈问题,并给出相应的技术详解和代码实现。对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀!一、内存瓶颈内存瓶颈通常会导致游戏的卡顿和崩溃等问题,因此及时发现和解决内存瓶颈是非常重要的。主要用于监测CPU和GPU的使用情况,而MemoryProfiler则专注于内存的分配和释放情况。1.2内存泄漏的检测和解决内存泄漏是导致内存瓶颈的主要原因之一。我们可以通过以下方式来检测和解决内存泄漏问