小编Jac*_*ani的帖子

每个C#脚本都会在控制台上引发错误

我刚刚用全新安装创建了一个Unity项目,还创建了C#脚本并附加到3D游戏对象(多维数据集),但是当我双击打开脚本时,它会立即显示:

Exception thrown while invoking [OnOpenAssetAttribute] method 'Unity.CodeEditor.CodeEditor:OnOpenAsset (int,int,int)' : InvalidOperationException: Cannot start process because a file name has not been provided.
System.Diagnostics.Process.Start () (at <d465e2b2e5054d2787d6364114c43446>:0)
(wrapper remoting-invoke-with-check) System.Diagnostics.Process.Start()
UnityEditor.DefaultExternalCodeEditor.OpenProject (System.String path, System.Int32 line, System.Int32 column) (at C:/buildslave/unity/build/Editor/Mono/CodeEditor/DefaultExternalCodeEditor.cs:96)
Unity.CodeEditor.CodeEditor.OnOpenAsset (System.Int32 instanceID, System.Int32 line, System.Int32 column) (at C:/buildslave/unity/build/Editor/Mono/CodeEditor/CodeEditor.cs:56)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
Run Code Online (Sandbox Code Playgroud)

InvalidOperationException: Cannot start process because a file name has not been provided.
System.Diagnostics.Process.Start () (at <d465e2b2e5054d2787d6364114c43446>:0)
(wrapper remoting-invoke-with-check) System.Diagnostics.Process.Start()
UnityEditor.DefaultExternalCodeEditor.OpenProject (System.String path, System.Int32 line, System.Int32 column) (at C:/buildslave/unity/build/Editor/Mono/CodeEditor/DefaultExternalCodeEditor.cs:96)
Unity.CodeEditor.CodeEditor.OpenFileAtLineColumn (System.String …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

7
推荐指数
1
解决办法
3575
查看次数

Hololens Unity 应用程序始终以 2D 而不是 3D 部署

我正在 Unity 中为 Hololens 1 开发一个应用程序,当使用 Holographic Remote 时,它​​在设备上运行得非常好。但是,每当我通过 Visual Studio 构建和部署应用程序时,它只会在 Hololens 上以 2D 模式启动(作为可以在空间中定位的平面“窗口”)。什么设置控制这种行为?

  • Unity 版本为 2019.1.4f1,
  • Visual Studio 是 2017 社区版,
  • 我在 Windows 10 上。

HL 和我的桌面上都打开了开发人员模式。在 Unity 中勾选了虚拟现实支持,将混合现实 SDK 添加到列表中,并且构建设置位于 x86 / D3D 项目上。

我尝试用 MRTK 中的一个示例替换我的场景,但无济于事。奇怪的是,如果我创建一个干净的新项目,除了其中的 MRTK 示例之外什么都没有部署正确,所以我的项目中肯定有一些东西在干扰。我就是想不通是什么。

预期的行为是应用程序以“房间比例”模式启动,即所有其他应用程序都消失了,并且可以以 3D 方式查看我场景中的对象。

编辑:这已被标记为可能重复。然而,那里给出的答案并不能解决我的问题。我已经确保在 XR 设置中勾选了“支持虚拟现实”,并将 SDK 添加到列表中。我不认为我有 Windows Insider 预览版,但由于我能够完美地部署一个新项目,我认为这不是问题所在......

unity-game-engine hololens mrtk

5
推荐指数
1
解决办法
1286
查看次数

如何将SVG导入Unity 2018.2

Unity的路线图表明,我们应该能够在Unity 2018.2中导入SVG。
我有Unity 2018.2.3,但无法将SVG用于Unity。Unity无法识别它们是精灵。
请任何人告诉我如何统一导入/使用SVG。

import svg vector-graphics sprite unity-game-engine

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

是否可以将 git 子模块连接到主项目分支上的特定提交?

我有这种情况git version 2.8.0.windows.1

我有一个主项目的“发布”分支,每次发布新版本时我都会推送到那里。

这个项目有一个并行开发的子模块,所以我希望那里有很多提交。

项目主分支和子模块主分支(几乎)并行进行。

主提交 1 => 主提交 2 => 主提交 3 => 主提交 4
子模块提交 1 => 子模块提交 2 => 子模块提交 3 => 子模块提交 4

在这种情况下,主提交 4子模块提交 4对齐。

当有人试图太晚获取发布分支时,就会出现问题。
因此,如果我在Master Commit 1处推送release分支,而当我们在Master Commit 4处时有人拉出 release 分支,我们就会出现错位(因为releaseMaster Commit 1相关,而现在我们在Submodule Commit 4 上)。

我看到的解决方案是以某种方式强迫子模块提交1释放分支,但我不知道怎么还。

我知道一个很好的解决方案是在子模块上添加一个分支或标签,如这里所述

但是我对子模块存储库没有权限,因此在那里设置分支或标签对我来说并不容易。

是否有任何解决方法可以强制在我的发布分支上提交特定的子模块 …

git version-control git-submodules

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

为什么当我在 Unity 编辑器中时 Camera.current 返回 null?还有其他方法可以捕获当前相机吗?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[ExecuteAlways]
public class SkyBox : MonoBehaviour
{
    public Material[] skyboxes;
    public Camera skyboxCamera;
    public float skyboxMoveSpeed = 2f;

    private int index = 0;

    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            SwitchSkybox();
        }

        if (RenderSettings.skybox == skyboxes[1])
        {
            RenderSettings.skybox.SetFloat("_Rotation", Time.time * skyboxMoveSpeed);
        }
    }

    public void SwitchSkybox()
    {
        index++;
        if (index == skyboxes.Length)
        {
            index = …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

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

什么时候是更新Unity相机的最佳时间?

很抱歉问这样一个简单的问题,但是我和我的朋友正在讨论何时是在Unity3d游戏中移动相机的最佳时间。
基本上,讨论是否应该将其移动上UpdateFixedUpdateLateUpdate

我相信LateUpdate这是移动相机以确保首先完成所有其他计算的最佳时间。但是他说您应该在更新期间执行此操作,并将其设置为最后更新的内容。

我可以从这两个方面获得任何反馈,为什么一个可能比另一个更好?

unity-game-engine

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