unity3d相关内容

禁用或启用基于对象标签 Unity 2d 的碰撞

我想根据标签在 Unity 2d 游戏中禁用或启用与对象的碰撞.假设我有标签为“foo1"的对象和标签为“foo2"的对象.如果用户选择与对象“foo1"碰撞,则不应与对象“foo2"碰撞. 我怎么能做到这一点?我试过这个: void OnCollisionEnter(Object other){if (other.tag == "foo1")collider.enabled = fal ..
发布时间:2021-12-11 17:29:41 其他开发

如何停止协程?

当两个协程正在运行时,如何停止第一个协程? GLOBALS.stableTime = 5;IEnumerator 稳定等待时间(){yield return new WaitForSeconds (1f);如果(GLOBALS.stableTime == 0){GameManager.instance.LevelFaildMethod();} 别的 {GameManager.instance.s ..
发布时间:2021-12-11 17:29:33 C#/.NET

如何在 Android 应用程序中统一访问手机后退按钮

我正在构建一个带有菜单场景和许多其他场景的 VR 应用程序.. 我想在用户点击手机后退按钮 (android) 时从任何其他场景返回菜单场景.. 脚本是什么为此,我应该将脚本放在哪里?? 解决方案 您使用 Escape 键码来检测 Android 上的后退按钮按下情况. 使用 UnityEngine.SceneManagement;无效更新(){if (Input.GetKey(KeyC ..
发布时间:2021-12-11 17:29:23 C#/.NET

为什么 C# 空条件运算符不适用于 Unity 可序列化变量?

我注意到,如果我有一些变量暴露给 Unity 检查器,例如: [SerializeField] GameObject _tickIcon; 如果我让它们未分配并尝试使用空条件运算符并调用该对象上的方法,我会收到一个异常,说明未分配变量.所以基本上不是这样做: _tickIcon?.SetActive(false); 这迫使我这样做: if(_tickIcon != null){_tick ..
发布时间:2021-12-11 17:29:15 C#/.NET

Unity iOS App Size 重 1.2GB(实际大小)(Android 100MB)

我有一个应用程序,它是用 Unity 2d 制作的.将其导出到 android,它的重量为 100MB.导出到iOS是1.2GB(ipa是104MB),但是在iTunes里面是1.2GB,太多了. 我们尝试减小纹理尺寸,但随后图像在设备上变得非常像素化. 关于如何解决这个问题有什么想法吗? 以下是未压缩的 .ipa 显示的内容: sharedassets4.assets(只 ..
发布时间:2021-12-11 17:29:03 移动开发

无法验证装配数据;加载此程序集时必须提供授权密钥

我正在 Unity 中测试 InteractiveConsole 示例.我按照官方教程中的描述做了一些配置.经过一些设置后,我进入了第 7 步:运行我们的示例代码. 但是,我收到以下错误: 无法验证装配数据;您必须提供授权密钥加载此程序集时.UnityEngine.Security:LoadAndVerifyAssembly(Byte[])c__Iterator1:MoveNext() ..
发布时间:2021-12-11 17:28:46 C#/.NET

using 语句中的异步方法

注意:我在 Unity 中使用 C#,这意味着版本 .NET 3.5,所以我不能使用 await 或 async 关键字.. 当我在使用语句中放入一个异步工作的方法时,会发生什么? using (WebClient wc = new WebClient()) {wc.DownloadFileAsync(urlUri, outputFile);}SomeMethod1();SomeMetho ..
发布时间:2021-12-11 17:28:38 C#/.NET

在 Unity 中创建和渲染大量 2d 精灵的最快方法是什么?

我正在创建一个无限地形生成器,我需要在玩家四处移动时不断更新地形. 一切都很好,但我无法找到有关即时创建和渲染精灵的最快方法的信息. 关于精灵的信息: 我正在使用 1 个精灵表,其中包含我的地形所需的所有帧.草、沙子、水等都在 1 个 .png 文件中.所有帧都存储在一个数组中,我可以从中轻松获取它们. 当前正确显示我的精灵对象需要执行的步骤: 创建新对象. 在二维 ..
发布时间:2021-12-11 17:28:29 C#/.NET

使用左/右滑动在 Subway Surf 中移动玩家,例如游戏

我正在 Unity 中开发无尽的跑步游戏,例如地铁冲浪者.我想在向左或向右滑动时平稳移动我的播放器.怎么办?这是我的代码: 使用UnityEngine;使用 System.Collections;公共类 SwipeScript3:MonoBehaviour {私人触摸initialTouch = new Touch();私人浮动距离= 0;private bool hasSwiped = fal ..
发布时间:2021-12-11 17:28:18 其他开发

C# 找不到统一自动生成的类

好的,所以我正在学习使用新的 InputActions 并且我已经使用 创建了一个 C# 脚本 https://prnt.sc/oyaj5l 这就是我得到的: //从 'Assets/PlayerControls.inputactions' 自动生成使用 System.Collections;使用 System.Collections.Generic;使用 UnityEngine.In ..
发布时间:2021-12-11 17:28:10 C#/.NET

未调用 EventSystem OnPointerXXX 函数

我有一个包含大约 200 个图块的平面,我希望能够检测到玩家点击了哪个图块.每个瓷砖都有一个盒子对撞机.我还在我附加了 EventSystem 和以下脚本的场景中创建了一个空的游戏对象: public class PlaneBehaviour : MonoBehaviour, IPointerDownHandler {公共游戏对象 ClickSymbol;公共无效开始(){var Physics ..
发布时间:2021-12-11 17:28:03 C#/.NET

Google Firebase 如何捕获特定的身份验证异常错误 - Unity

-如何捕捉 Auth 异常错误 - Unity-如何捕捉用户/电子邮件是否存在 - Unity-在哪里可以找到Auth异常错误代码列表 - Unity *我为 Android 找到了很多答案,所以我决定最终为 Unity 编写解决方案. 解决方案 答案很简单——要么在你试图实现的任务上使用以下函数—— protected bool LogTaskCompletion(Task ta ..

Unity 2D C# 在画布上实例化精灵.找不到问题所在

我阅读了很多关于此的问题,但我仍然找不到我的问题是什么...我正在尝试在画布上实例化一个预制件.它由一个按钮和一个精灵组成.按钮看起来不错,但精灵在游戏中不可见(但在场景中可见). 我做错了什么,但我看不到什么...... [SerializeField] GameObject finishedLevel;私人无效开始(){FinishedLevel = Instantiate(fini ..
发布时间:2021-12-11 17:27:41 C#/.NET

我可以为没有 Unity 徽标的 webgl 创建游戏吗?

我可以在下载时为没有 Unity 徽标且没有标题“Unity webGL"的 webgl 创建游戏吗?.示例 解决方案 根据docs 您需要 Pro 许可证才能删除启动画面.(屏幕中间的标志) 至于游戏周围的框架容易更改,只需将HTML更改为此处记录.您可以选择其中一种默认设置,也可以创建自己的模板. 根据这些文档,您在 Assets 中创建名为 WebGLTemplates ..
发布时间:2021-12-11 17:27:34 其他开发

检测鼠标单击 GUI

我的项目有问题.我想知道鼠标 cliked 发生在 GUI 或任何游戏对象上.我试过了,但它显示空引用异常 EventSystem eventSystem = EventSystem.current;if (eventSystem.IsPointerOverGameObject())Debug.Log("左键单击一个 gui 元素"); 如何检测??有没有可用的活动? 解决方案 终于得 ..
发布时间:2021-12-11 17:27:25 其他开发

画布上的 Unity 粒子效果

是否可以在您的 UI 元素上使用粒子效果系统.例如在画布上?我想为我的 UI 元素制作一些动画等等,粒子系统会很好,但它似乎不支持这一点.我的假设是否正确?还有其他解决方案吗? 解决方案 好吧,您可以做的是让相机将不同层上的粒子效果渲染到 RenderTexture 并将其显示在 RawImage 在您的 UI 中. 结合来自 这个答案:默认情况下,RenderTexture 只有 ..
发布时间:2021-12-11 17:27:14 其他开发

随着时间的推移,两个值之间的 Lerp

我正在尝试通过时间值减少浮点数,我正在使用 Unity 并停止时间 Time.timeScale = 0f; 所以不能使用 Time.deltaTime 因此,在 while 循环中使用“Time.realtimeSinceStartup",我从全局脚本中读取主音量变量,玩家可以在游戏中将其设置在 0 - 1 之间,所以说我读取的是 0.6 并且我想将音量降低到 0在 2 秒内,我如何获得继续减少 ..
发布时间:2021-12-11 17:27:05 C#/.NET

Unity:如何将未知脚本动态附加到游戏对象(自定义编辑器)

我目前正在为 Unity 编辑器(自定义检查器和自定义窗口)制作一个系统,该系统将自动化并使我们正在制作的游戏的美术师的工作更轻松,但我遇到了障碍. 我正在尝试找到一种方法,通过编辑器文本字段输入和 GUI 按钮向场景中的游戏对象动态添加未知脚本.艺术家/程序员将在文本字段中键入脚本的名称,它将搜索并添加到游戏对象中,但我不知道如何进行此操作,特别是因为 gameObject.AddComp ..
发布时间:2021-12-11 17:26:58 C#/.NET

从 VideoPlayer 获取当前帧纹理

这篇文章中有说明 使用新的Unity VideoPlayer 和 VideoClip API 来播放视频 可以“根据需要检索每一帧的纹理" 请问获取当前帧作为 Texture2D 的正确方法是什么? 编辑: 回答后我做了这个但它不起作用: 使用 System.Collections;使用 System.Collections.Generic;使用 UnityEngine;使用 ..
发布时间:2021-12-11 17:26:38 C#/.NET

获取 LineRenderer 的位置

我想知道是否有办法获得线渲染器中节点的位置.在我正在处理的项目中,我有一个 PseudoLine 游戏对象,在该对象上我有一个线条渲染器.当我画一条线时,我克隆 PseudoLine 以创建一条新线.简单使用: 实例化(游戏对象); 我想要做的是使用预制件创建新的游戏对象,该预制件上还有一个线渲染器.我想将 PseudoLine 的位置复制到我的新游戏对象的线条渲染器中.像这样: GameO ..
发布时间:2021-12-11 17:26:24 C#/.NET