标签: unity5

找一个GameObjects Vector3

最近我一直在研究保存/加载功能.我想要做的是Vector3在按下"保存"按钮后保存当前电流.但是,我似乎无法弄清楚如何找到一个GameObjects Vector3.

互联网上有很多教程,但它们都在JS中.

c# unity-game-engine unity5

4
推荐指数
1
解决办法
192
查看次数

Unity 5.3 - 按下时输入字段不会检测到第一个“返回”键

我必须双击“返回”键才能提交值!它在 2 小时前工作正常(我只需要按回车一次),但后来我重新启动了 Unity,现在我需要双击“回车”才能提交值。

更新 #2

我有一个脚本附加到包含输入字段的画布。代码如下:-

public class Example: MonoBehaviour {
    public InputField inputField; 

    void Start () {
    }

    void Update () {
    HandleUserInput ();
    }

    void HandleUserInput() 
    {

    if (inputField.isFocused && inputField.text != "" && (Input.GetKey (KeyCode.Return) || Input.GetKey(KeyCode.KeypadEnter))) {
        Debug.Log ("Pressed");
        //Do stuff
        inputField.text = ""; //Clear Inputfield text
        inputField.ActivateInputField(); //Re-focus on the input field
        inputField.Select ();//Re-focus on the input field
    }
    }
Run Code Online (Sandbox Code Playgroud)

当我播放场景并在字段中输入并按第一个返回时,日志不会显示任何内容,但是当我再次按下它时它会显示“已按下”。

更新 #3

我找到了某种解决方案,如果我删除“inputField.isFocused”输入字段将检测到第一个“返回”键。但是,在我的情况下,如果输入字段中有一些文本,那么用户单击场景中的任何其他地方然后按 Enter,输入字段将提交它。

请指教

c# unity-game-engine unity5

4
推荐指数
1
解决办法
7226
查看次数

在背景中加载新场景

我正在创建一个针对Samsung Gear VR的Unity应用程序.我目前有两个场景:

  1. 最初的一幕
  2. 第二个场景,数据量很大(加载场景需要太多时间).

从第一个场景开始,我想在后台加载第二个场景,并在加载后切换到它.当新场景在后台加载时,用户应该保持移动头部以查看VR环境的任何部分的能力.

我正在使用SceneManager.LoadSceneAsync但它不起作用:

// ...

StartCoroutiune(loadScene());

// ...

IEnumerator loadScene(){
        AsyncOperation async = SceneManager.LoadAsyncScene("Scene", LoadSceneMode.Single);
        async.allowSceneActivation = false;
        while(async.progress < 0.9f){
              progressText.text = async.progress+"";
        }
       while(!async.isDone){
              yield return null;
        }
        async.allowSceneActivation = true;
}
Run Code Online (Sandbox Code Playgroud)

使用该代码,场景永远不会改变.

我试过这个典型SceneManager.LoadScene("name")的情况,在这种情况下,场景在30秒后正确变化.

c# unity-game-engine unity5

4
推荐指数
1
解决办法
6741
查看次数

如何在重新启动球体位置后阻止球体自行移动?

我正在学习 Unity 的第三天,目前正在做滚球教程。我正在尝试添加一个重新启动按钮,将球传送回开始位置/原点。一切都很好,但是在我重新启动后球会继续移动,但我希望它留在一个位置而不是自己移动。

我的意思是,如果我以最大速度向左移动并按“R”重新启动,那么它会在一段时间内保持快速向左移动,但我想要实现的是球在之后不会继续自行移动我重新启动它的位置(也许它的速度只是下降得太慢以至于不明显,在这种情况下我希望它减速得更快)。

这是我刚刚尝试并“希望”可以工作的代码,但没有。我认为我在这里遇到的问题是下一帧再次分配了一个新的 axisHorizo​​ntal/axisVertical 变量值,该值取自Input.GetAxis,据我是不可能改变的。

这意味着大于 0/0/0 的运动力和 AddForce 将在下一帧再次激活。

using UnityEngine;
using System.Collections;

public class PlayerScript : MonoBehaviour {

    public float movementSpeed = 7f;
    private Rigidbody rigidSphere;

    void Start() {
        rigidSphere = GetComponent<Rigidbody>();
    }

    void FixedUpdate() {
        float axisHorizontal = Input.GetAxis("Horizontal");
        float axisVertical = Input.GetAxis("Vertical");

        Vector3 movementForce = new Vector3(axisHorizontal, 0.0f, axisVertical);
        rigidSphere.AddForce(movementForce * movementSpeed);

        if (Input.GetKeyDown(KeyCode.R)) {
            transform.position = new Vector3(0, 0, 0);
            rigidSphere.AddForce(0, 0, 0);
            axisHorizontal = 0;
            axisVertical = 0; …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine game-physics unity5

4
推荐指数
1
解决办法
1049
查看次数

Unity3d,当前选择的脚本后端(.NET)未安装

我有一个常规的Unity3d项目,我创建了一个简单的第一人称移动"游戏".我最近发现了如何使用Unity并使用通用Windows平台将应用程序放到Xbox One开发人员控制台上.然而,当我将我的游戏构建为Windows商店应用程序时,它说

"尚未安装当前选定的脚本后端(.NET)."

有谁知道如何解决这个问题和/或下载Unity .NET脚本后端?

提前致谢!

c# unity-game-engine visual-studio unity5

4
推荐指数
1
解决办法
9522
查看次数

Unity 中的流资产文件夹 VS 资源文件夹?

我想知道 Unity3d 中的 Streaming assets 文件夹和 resources 文件夹之间的区别?

unity-game-engine unity5

4
推荐指数
2
解决办法
6339
查看次数

如何更改Unity 3D中的默认粒子?

假设我想使用Unity的粒子系统创建一个对象场,除了我想使用我自己的粒子而不是Unity的默认粒子.如何创建这样的自定义粒子系统?

有没有办法在不使用粒子系统的情况下做到这一点?我希望对象以类似的方式移动(即随机移动).

c# unity-game-engine particle-system unity5

3
推荐指数
1
解决办法
2万
查看次数

Unity Error:UnityEngine.Component'不包含`velocity'的定义

我对C#很新,所以如果这很明显,请原谅我.

我正在按照本教程中的步骤操作,并在第六步遇到问题.它给出的错误是:它给出的错误是这样的:

UnityEngine.Component' does not contain a definition for `velocity' and no extension method `velocity' of type `UnityEngine.Component' could be found. Are you missing an assembly reference?'
Run Code Online (Sandbox Code Playgroud)

这是代码:

using UnityEngine;
using System.Collections;

public class RobotController : MonoBehaviour {
//This will be our maximum speed as we will always be multiplying by 1
public float maxSpeed = 2f;
//a boolean value to represent whether we are facing left or not
bool facingLeft = true;
//a value to represent our …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine unity3d-2dtools unity5

3
推荐指数
1
解决办法
7925
查看次数

NotSupportedException:C#Unity 5中的动态模块不支持调用的成员

这是我的毕业设计。游戏的想法是通过提供一些有趣的任务来帮助学生练习编程,这些任务需要C#代码解决方案,例如encodingame.com,当用户产生正确的输出时,结果将在Unity场景中可视化。

我正在使用C#编译器插件在Unity 5运行时中编译用户的代码。一切工作正常(每个场景都单独开始在编辑器中播放场景并停止它),但是当我从场景前进到下一个场景时,在运行时构建用户的C#代码时,此错误会上升(NotSupportedException:被调用的成员)在动态模块中不受支持)(错误总是在第二个场景或下一个场景中出现)。

错误:

NotSupportedException: The invoked member is not supported in a dynamic module
Run Code Online (Sandbox Code Playgroud)

错误

产生错误的行:

this.assemblyReferences = domain.GetAssemblies().Select(a => a.Location).ToArray();
Run Code Online (Sandbox Code Playgroud)

assemblyRefrences是字符串数组:string [] assemblyReferences;

该行在其构造函数中的脚本ScriptBundleLoader中

c# compiler-construction unity5

3
推荐指数
1
解决办法
2199
查看次数

在'圆形'数组中查找下一个位置

我有一个由SW编号的8个罗盘点阵列,从顺时针方向到S:

2 3 4
1   5
0 7 6
Run Code Online (Sandbox Code Playgroud)

我想计算从一个点到另一个点的最短路线是顺时针(+1)还是逆时针(-1).例如,从7到5将是-1,从7到0将是+ 1.

我想这个简单的问题,但今天我的大脑已经冻结了.

我得到的最接近if abs(start - end) < 4, -1, 1但如果开始是3则不起作用.

还有一个类似的问题在这里,接受的答案是使用模,但并没有解释如何.我没有成功地抛出各种计算.

c# arrays math unity-game-engine unity5

3
推荐指数
1
解决办法
174
查看次数