草庐IT

RTC1-Unity

全部标签

Unity中对预制体烘焙光照贴图,在其他Scene中使用或者动态生成带光照贴图的预制体

记录个人开发笔记,如果有大佬有更好的方法或者觉得我这个方法哪里有问题欢迎指正!首先说下为什么会弄预制体烘焙光照贴图,因为项目需求需要动态生成一个房间的,因此是将房间弄成预制体,动态生成就好了,这个很简单,但是呢最后程序是在一体机中跑的,性能比较差,所有美术调好的效果后如果是实时光,性能开销就比较大,烘焙呢又因为不需要一开始显示而且必须在同一个scene中所有才去弄了这么个烘焙预制体光照贴图。(既然是预制体烘焙,因此此方法也可以跨工程使用,所有有时候美术调效果时可以直接只烘焙一个预制体给到开发人员,不用再给开发人员整个场景了)接下来直接说怎么操作:先简单的搭建了一个Plane和Cube再打了一个

Unity 如何实现异步UnityWebRequest请求

前言Unity官方从2018开始,已经不推荐使用WWW了,更推荐使用UnityWebRequest,UnityWebRequest的使用方法和WWW类似,都是使用协程的方式来等待网络回复,但是存在几个问题:1.协程只能在Unity运行时使用。所以编辑器工具如果要做网络请求,就没法用协程了。2.协程是同步阻塞的方式,无法做大量数据的异步请求。3.协程不太容易做请求数据的返回。出于对以上问题的考虑,而我的需求又是需要做批量的http请求,所以不得不使用异步的方式来实现。故有了今天的解决方案,遂记录下来,供大家参考。Get请求Get请求是最简单的,参数都在URL的?后面,所以也没有什么特殊注意事项,

如何在运行时替换Unity注入

我有一个抽象类和拖曳实施。publicabstractclassPerson{publicabstractstringGetName();}publicclassDoctor:Person{publicoverridestringGetName(){return"Doctor";}}publicclassTeacher:Person{publicoverridestringGetName(){return"teacher";}}我正在使用统一注射。在统一我注册医生,在运行时间我需要使用老师,实际上在我的test2方法中替换了该注入:这是我的统一注入:container.RegisterType

【简单详细】Unity生成地形和UI小地图实时展示人物位置的详细制作过程

效果: 一:搭建UI注意:一个父物体Map是一个纯白色image,放到左上角,要加Mask组件哦!!!   它的两个子物体,其中一个(map)是显示出地图纹理的image,另外一个(mapPlayer)是一个小点,我们也用image来表示,也就是效果图上的绿点。二:玩家  我们把人物放进去,挂载脚本控制人物移动:publicclassPlayerControl:MonoBehaviour{//StartiscalledbeforethefirstframeupdatevoidStart(){//计算玩家在地形上的高度floaty=Mathf.PerlinNoise(transform.posi

Unity面向新手,如何使物体移动,让物体自由的动起来。几种移动方案讲解

一、前言在大部分的Unity游戏开发中,移动是极其重要的一部分,移动的手感决定着游戏的成败,一个优秀的移动手感无疑可以给游戏带来非常舒服的体验。而Unity中有多种移动方法,使用Transform,使用刚体Rigidbody,使用CharacterController,使用NavMesh导航系统等等等等。当然,对于新手来说,最常见的莫过于使用Transform和Rigidbody这两种组件的移动方案。所以,这篇文章将就这两种移动方案进行分析讲解。注意!!!以下代码均为2D场景,3D同理二、TransformTransform组件是GameObject的变换组件,可以操纵GameObject的位

Unity Addressables学习笔记(1)---创建远程服务器加载资源

前言UnityAddressables学习笔记—汇总例子1:加载一个图片1.首先创建一个UIImage,空白图片,资源打包方式选择真是部署的2.修改远程发布和加载配置BulidPath选择RemoteBuildPathLoadPath我选择了custom,地址是http://localhost:8080/WebGL/遇坑1:最开始我选择的BuildPath是LocalBuildPath,LoadPath是custom的时候报错如下:BuildPathforgroup'***'issettothedynamic-lookupversionofStreamingAssets,butLoadPath

如何在 Vuforia 中配置 Unity Package Manager?

作者:禅与计算机程序设计艺术1.简介Vuforia开发包被分为了三个不同版本:VuforiaEngineSDK,VuforiaAugmentedRealitySDK,VuforiaExtendedTrackingSDK。为了使开发者能够更方便的管理这些不同的开发包及其依赖关系,Unity官方引入了UnityPackageManager(UPM)机制。而Vuforia中不支持UPM机制。因此本文将介绍如何将Vuforia开发包导入到UPM系统中,并对比两种配置方式的优缺点。2.基本概念UPM:UnityPackageManager,Unity官方提供的新版本的管理外部资源的机制。它可以解决开发包

【Unity入门】19.定时调用Invoke

【Unity入门】定时调用Invoke  大家好,我是Lampard~~    欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 (一)计时器(1)Invoke单词调用  计时器我们并不陌生,在cocos上有着schedule类是相似的。在Unity中给我们提供了Invoke相关的类来实现计时器功能  首先我们熟悉的是单次延时调用方法InvokeUnity的Invoke()方法是一种用于延迟执行某个方法的方式。Invoke()方法可以在指定的时间(以秒为单位)后执行指定的方法Invoke()方法的语法如下:```Invoke(stringmethodName,floattime)

unity | EventTrigger(实现鼠标/按钮按下、抬起等时执行的方法)

一、类比常用按钮按钮组件一般只有当点击时,执行的方法。点击:需要按下再起来二、按钮的其他用法但有时候,我们可能只需要按下的时候执行,或者抬起的时候执行,这时需要在加入EventTrigger组件 、EventTrigger组件当点击时AddNewEventType时,可以选择这个按钮响应的其他方式 鼠标进入        PointerEnter    当鼠标移到按钮上面,就会执行这个方法鼠标离开        PointerExit        当鼠标从按钮上移出,就会执行这个方法 鼠标点击        PointerClick      点击时(按下再抬起,必须这两个动作都在这个按钮上

Mac版本Unity如何设置中文

第一步:打开UnityHub在安装界面找到使用的Unity编辑器,右边有个齿轮,点击选择添加模块。 第二步:拉到最底下,选择简体中文然后继续。 之后是一个同意条款,同意一下就等待它安装完成。 第三步:打开Unity编辑器,依次选择Unity-> Preferences->Languages,简体中文,之后重启编辑器即可。