标签: unity5

在Monodevelop Unity 5.2中看不到javascript文件

由于升级到Unity 5.2,因此Monodevelop Solution explorer中未显示javascript(unityscript)文件(参见下图).有谁知道如何解决这个问题? 在此输入图像描述

unity-game-engine unityscript unity5

6
推荐指数
1
解决办法
753
查看次数

如何在UNet/Unity5中同步非玩家GameObject属性?

我正在研究和学习Unity 5,UNET和网络的一些基础知识.我制作了一个简单的3D游戏,你可以四处走动并改变物体的颜色.但我现在想让它成为多人游戏,而且我在如何通过网络发送更改方面遇到了很多麻烦,因此所有玩家都可以看到单个玩家的颜色变化.

部分问题是使用较新的UNET网络引擎很难找到答案.有时我会遇到旧方式的答案.

所以主要的问题是,如何联网非玩家GameObject属性的变化?颜色,形状,大小等.

这是我现在的一些代码 - 我有很多不同的版本,所以我只发布当前版本:

 using UnityEngine;
 using System.Collections;
 using UnityEngine.Networking;

 public class Player_Paint : NetworkBehaviour {

     private int range = 200;
     [SerializeField] private Transform camTransform;
     private RaycastHit hit;
     [SyncVar] private Color objectColor;
     [SyncVar] private GameObject objIdentity;

     void Update () {
         CheckIfPainting();
     }

     void CheckIfPainting(){
         if(Input.GetMouseButtonDown(0)) {
             if (Physics.Raycast (camTransform.TransformPoint (0, 0, 0.5f), camTransform.forward, out hit, range)) {
                 string objName = hit.transform.name;
                 CmdPaint(objName);
             }
         }
     }

     [ClientRpc]
     void RpcPaint(){
         objIdentity.GetComponent<Renderer>().material.color = objectColor;
     }

     [Command]
     void CmdPaint(string name) { …
Run Code Online (Sandbox Code Playgroud)

c# multiplayer unity-game-engine unity5 unity-networking

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

对象在-z和-x角的z轴上翻转180度

基本上我有一个旋转的物体.它是一种单击和拖动类型的旋转,但是当对象面向-z -x角或左下角时,再次单击时,它有可能以相反的方式完全翻转180度.这非常麻烦,我甚至知道这发生了什么.这是点击代码:

void OnMouseDown() 
{
    Vector3 pos = Camera.main.WorldToScreenPoint(transform.position);
    pos = Input.mousePosition - pos;
    baseAngle = Mathf.Atan2(pos.y, pos.x) * Mathf.Rad2Deg;
    baseAngle -= Mathf.Atan2(transform.right.y, transform.up.x) * Mathf.Rad2Deg;
    startRotation = transform.rotation;
}
Run Code Online (Sandbox Code Playgroud)

baseAngle - = Mathf.Atan2(transform.right.y,transform.up.x)*Mathf.Rad2Deg;

^^^这条线让我头疼.我尝试使用".x"和".z"结尾,但我无法理解.当我用".z"切换".x"时,问题就出现在右下角.如果我甚至搞砸了".y",我只能远离我想要的东西.

图片:

顺便说一句,Z轴垂直向上,X轴水平向右.任何帮助赞赏.

c# unity-game-engine unity5

6
推荐指数
1
解决办法
114
查看次数

Unity场景管理和Android - 无法加载场景

我是C#/ Unity的新手(温柔) - 我正在尝试创建自己的脚本,向Inspector添加一个公共变量,这样我就可以让一个脚本适用于多个GameObjects(或者我认为).

脚本非常简单.

它适用于PC,但它不适用于Android.

using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.EventSystems;

public class BtnLoadScene : MonoBehaviour {
    public Object SceneObj;
    private string SceneName;

    public void LoadLevel()
    {
        SceneName = SceneObj.name;
        Debug.Log (SceneName);
        SceneManager.LoadScene(SceneName);
    }
}
Run Code Online (Sandbox Code Playgroud)

我将此脚本作为组件附加到驱动场景加载的所有按钮(在整个应用程序中).同样,这里的值是我可以将我的"场景"从assets文件夹拖到检查器/组件中(因此我不必显式管理"整数"或"字符串" - 它将全部通过对象引用).

参见例如: 在此输入图像描述

再次,这适用于PC UPDATE:根据评论中的建议,我在独立播放器中尝试了这个并且它失败了.这仅适用于Unity编辑器.当我为Android构建时(是的它编译并且我可以安装APK)它不起作用 - 第一个场景加载,按钮响应我的触摸,我看到它"压下",但亚行抛出:

12-23 15:37:27.028 14816 14847 I Unity   : NullReferenceException: Object reference not set to an instance of an object
12-23 15:37:27.028 14816 14847 I Unity   :   at BtnLoadScene.LoadLevel () [0x00000] in <filename unknown>:0
12-23 15:37:27.028 14816 …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine unity5

6
推荐指数
1
解决办法
2764
查看次数

访问Android上的Unity StreamingAssets

我编写了一些代码来获取StreamingAssets中文件夹内的所有文件夹,然后获取该文件夹中的所有文件.它在Windows上运行良好,但我无法在Android上运行它.

这是代码:

foreach (string s in Directory.GetDirectories(model.path + "/Levels")) {
        GameObject el = (GameObject)Instantiate(listButton, Vector3.zero, Quaternion.identity);
        el.transform.SetParent(grid1.transform);
        string[] words = s.Split('/');
        #if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN
                            words = s.Split('\\');
        #endif
        el.GetComponentInChildren<Text>().text = words[words.Length - 1];
        el.GetComponent<Button>().onClick.AddListener(() => {
            MapSizeButtonClick(Int32.Parse(el.GetComponentInChildren<Text>().text));
        });
    }
Run Code Online (Sandbox Code Playgroud)

由于'\',我不得不为Windows添加#if UNITY_STANDALONE_WIN.

然后对于该文件夹中的文件,我写了这个:

foreach (string s in Directory.GetFiles(model.path + "/Levels/" + model.mapSize + "/" + model.colorNumber)) {
        string[] words = s.Split('/');
        #if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN
                    words = s.Split('\\');
        #endif
        words = words[words.Length - 1].Split('.');
        if (words[1] == "json") {
            GameObject …
Run Code Online (Sandbox Code Playgroud)

directory android assets unity-game-engine unity5

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

从代码启用/禁用VR

对于部署到Android设备的应用,如何在Unity中以编程方式将显示设置为立体?

我想要一个UI菜单,用户可以在"VR模式"和普通模式之间切换.我默认不想要VR模式,因为它应该是运行时的选项.我知道在构建设置中有"虚拟现实支持"的设置,但同样,我不希望默认启用此功能.

c# unity-game-engine virtual-reality unity5

6
推荐指数
2
解决办法
6575
查看次数

Unity中的按钮,不使用UI?

Unity中是否有一种方法可以在不使用UI层的情况下创建简单的2D按钮.我有一个有很多按钮的游戏,我不想在UI中制作整个应用程序.还欢迎更多控件:开关,滑块等.

PS.我看到了NGUI,到目前为止我还不喜欢它.还要别的吗?

c# unity-game-engine unity5 unity3d-ui

6
推荐指数
1
解决办法
3315
查看次数

Unity中的多个Visual Studio项目

我试图将我的所有非Unity特定代码移动到不继承的类中MonoBehaviour,类似于.我Models为所有非MonoBehaviour类创建了一个单独的Visual Studio项目,并将该项目添加到Visual Studio解决方案中.但是,我无法Models通过Visual Studio向我的Unity项目添加对项目的引用(当我单击Unity项目时,Add Reference按钮不存在,我已经读过Unity无论如何都会自动重建它的Visual Studio项目,所以任何添加的引用都会丢失),所以我将Models.dll 的输出位置设置为Unity中的Assets文件夹,然后我将.dll添加到Unity的Project视图中.这一切都奏效了.问题是每当我重建我的Models项目时,Visual Studio中的Unity项目似乎都没有获取更改,所以我必须从Unity的Project视图中删除.dll并在每次我做任何时重新添加它.对Models项目的更改.

有没有办法让Visual Studio自动查看我的Models.dll 的更改,还是有更好的方法让我的Unity项目引用另一个Visual Studio项目?

unity-game-engine unity5

6
推荐指数
1
解决办法
3033
查看次数

实时C#websockets客户端与Unity3D一起使用?

我正在用C#构建一个Unity3D客户端,用于我制作的多人游戏.服务器是用Node.js编写的,我用Javascript编写了一个运行良好的Web客户端.但是我的Unity3D客户端实现遇到了滞后问题.我正在使用websocket-sharp库,但是无法像我在带有HTML5 Websocket类的Javascript客户端上那样使用它.我相信问题在于websocket-sharp库的制作方式,目前每个Send()都会导致锁定_forSend,因此数据将像这样传输:

data1:frg1

data1:frg2

data2:frg1

data2:frg2

...
Run Code Online (Sandbox Code Playgroud)

但是在我的工作javascript实现上,它看起来像这样,因为它是真正的多线程:

data1:frg1

data2:frg1

data2:frg2

data1:frg2
Run Code Online (Sandbox Code Playgroud)

因此,我认为这是我的C#Unity实现滞后的原因,因为websockets-sharp库的行为就像这样.任何人都可以确认这是websockets-sharp库的问题或建议一个可以工作的库吗?

c# unity-game-engine websocket websocket-sharp unity5

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

如何统一禁用物理系统

我想在统一引擎中开发本机android应用程序,并且不需要使用物理,是否有可能为特定项目统一禁用物理引擎.

c# monodevelop unity-game-engine unityscript unity5

6
推荐指数
2
解决办法
5638
查看次数