Tag: unity3d

在playerprefs中保存多个滑块值

我有一个问题,我只能将一个滑块值存储到playerprefs。 我有10个滑块,如果我附加这个脚本,它们都会inheritance层次结构中第一个滑块的保存值。 public Slider Slider; public float valueofslider ; void Start() { valueofslider = PlayerPrefs.GetFloat(“valueofslider”); Slider.value = valueofslider; } void Update() { valueofslider = Slider.value; if (Input.GetKeyDown(KeyCode.S)) { PlayerPrefs.SetFloat(“valueofslider”, valueofslider); Debug.Log(“save”); } } } 编辑代码使用建议保存到Json,但不保存当前。 不确定操作顺序是否正确。 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using System.IO; using LitJson; using System.Text; using System.Web; using System; public […]

如何通过脚本查找GameObject的子节点或附加到子GameObject的脚本

我知道这是一个愚蠢的问题,但我如何通过脚本引用游戏对象的子(一个多维数据集)(该脚本附加到gameObject)。 (相当于GetComponent之类的东西)

Unity 5上OnLevelWasLoaded在哪里?

在这个新的统一版本中,我认为使用了SceneManager。 但我无法找到如何在水平上加载SceneManager。 旧方式: void OnLevelWasLoaded(){ // do something } 当我尝试旧方法时,我得到了这个: 在MusicManager上找到OnLevelWasLoaded此消息已被弃用,将在更高版本的Unity中删除。 将一个委托添加到SceneManager.sceneLoaded,以在场景加载完成后获取通知 我不知道如何使用 SceneManager.sceneLoaded(); 不知道要通过什么……

Unity Mesh Renderer不会完全透明

我正在创建一个脚本,考虑到时间间隔,允许对象褪色。 该脚本运行良好,但是当对象褪色时,它在检查器和构建中仍然非常明显。 有人可以解释为什么以及如何使一个物体完全不可见? (我知道我可以“启用”该对象,但它不是使用比褪色更多的资源吗?我不知道:() 这是代码,如果我犯了任何错误(代码灵感来自团结论坛的主题) // Update is called once per frame void Update () { MyTime = Time.deltaTime; AccumulatedTime += MyTime; if (this.name == “Cube (1)”) { Debug.Log(AccumulatedTime); } if (SwitchVisibility == 1) { if (AccumulatedTime >= Interval && AccumulatedTime= 3*Interval && AccumulatedTime= 0 && AccumulatedTime = 2*Interval && AccumulatedTime = Interval * 4.5f) […]

将播放器移动到精确触摸/鼠标单击位置

在我的2D统一游戏中,我试图将我的精灵移动到我的触摸/光标的位置(现在它是鼠标点击)。 我的精灵在这个位置(173,48,-52.1)。 但是,当我点击一个距离可能只有几个像素的位置时,我的位置变为(399,129,0),我的精灵显然被扔进了巨大的未知数。 if (Input.GetMouseButtonDown(0)) { //fingerPos = Input.GetTouch(0).position; fingerPos = Input.mousePosition; transform.position = fingerPos; Debug.Log(transform.position); } 编辑 目前的代码 if (Input.GetMouseButtonDown (0)) { fingerPos = Camera.main.ScreenToWorldPoint(Input.mousePosition); //Desktop transform.position = fingerPos; Debug.Log (transform.position); } 更新 。 显然,当我单击记录的位置(并且精灵移动到的位置)直接在相机上。 参考图像

将实时素材从相机流式传输到Unity3D

假设我有一台无线摄像头,我希望将video从实时流式传输到统一。 有没有办法实现这个目标? 奖金问题: 那些角度更宽的相机(180,甚至360) 如果这是我想要与之互动的镜头,延迟会有多大问题 除了常规镜头之外,还可以发送更多数据,例如深度感知(使用深度感知相机)吗? 我疯了还是已经完成了? 提前致谢

如何轻松地将c ++代码添加到Unity项目中?

所以,我正在尝试在Unity中构建一个应用程序,这需要分子可视化。 有一些库可用于估计分子的特性,读取分子,写分子等。但是可视化很少。 我找到了这个,称为超球 ,它在Unity项目中成功用于分子可视化,称为UnityMol 。 我已经在项目中添加了OpenBabel dll,我希望我能以相同或任何其他方式为团结项目添加超球。 问题是我缺乏制作dll的经验(没有经验,说实话)。 另外我不知道如何在Unity项目中使用超球c ++文件。 考虑与OpenBabel进行类比我认为如果有一种简单的方法可以在Mac上使用c ++源代码创建一个dll,我可以简单地将dll添加到资源并享受编码,但它并不像我想象的那么容易。

Unity 5.3如何加载当前级别?

在Unity 5.3之前,我能做到 Application.LoadLevel(Application.loadedLevel); 但现在使用SceneManager会有些奇怪。 我读过文档但没有。 如何获取当前场景并加载它(Unity 5.3f4)? 谢谢!

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

我正在尝试将浮点数减少一个时间值,我正在使用Unity并停止时间Time.timeScale = 0f; 所以不能使用Time.deltaTime所以在while循环中使用’Time.realtimeSinceStartup’,我从一个全局脚本中读取主音量变量,玩家可以在0-1之间设置游戏,所以说我读了0.6并且我想要在2秒内将音量降低到0我如何获得百分比以保持减少音量? 这是我的代码.. private IEnumerator VolumeDown () { float volumeIncrease = globalVarsScript.musicVolume; float volumePercentage = ??; float newLerpEndTime = Time.realtimeSinceStartup + 2f; while (Time.realtimeSinceStartup < newLerpEndTime) { audio.volume = volumeIncrease; volumeIncrease -= volumePercentage; yield return null; } } 对不起,我只是无法获得’volumePercentage’ 谢谢。

为什么Unity3d C#中的if语句允许不是bool的对象?

在标准的.NET 4.6编译器中,以下if语句不合法,您将收到编译器错误:CS0029无法将类型’UserQuery.TestClass’隐式转换为’bool’。 这一切都很好,我理解这一点。 void Main() { TestClass foo = new TestClass(); if(foo) { “Huh. Who knew?”.Dump(); } } public class TestClass : Object { } 但是,在Unity3d中,这段代码是完全合法的,我已经看到了几个例子,甚至鼓励这种Javascript样式的空检查。 这里发生了什么,是否有可能在.NET中的非Unity3d工作中利用这一点? 以下是Unity3D中合法代码的示例: using UnityEngine; public class SampleIfBehavior : MonoBehaviour { // Use this for initialization void Start () { var obj = new SampleIfBehavior(); if (obj) { Console.Write(“It wasn’t […]