问题标签 [unity3d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4844 浏览

c# - 原生 C/C++ 代码的 C++/CLI 包装器,无法在 Unity3D 中加载

我一直在网上寻找有关如何在 Unity3D 中加载程序集的信息,但我真的很难过。如果这篇文章会很长,我很抱歉,但是我将把我学到的所有东西以及我已经走了多远,因为这是我第一次在 .net 和 dll 中工作。

我有一个本机 dll,它有一大堆 extern "C",所以我可以在运行时加载所有内容。如果我使用 [DLLImport] 属性等,这将统一工作。但是,它很麻烦,而且不是真正可重用的代码。以后当我必须在多个本地库之间抽象我的系统时,它会变得更加麻烦。

所以我想我会做一个 C++/CLI 包装器,然后像任何其他 dll 一样将它加载到 Unity3d 中,然后链接命名空间:“使用 MyWrapper;”

我创建了我能想到的最简单的 C++/CLI 库。我的库所做的只是有一个类(Class1),它有一个函数 int getnum() {return 5;}。我正在使用 VC++ 2010 express,并且正在使用 V90 构建,并将 vcxproj 文件修改为目标 2.0。我知道统一只支持 2.0。我正在 /clr 中构建,以便能够拥有本机和 .net 代码。

它完全使unity3d崩溃。这是我的错误日志在 GameManager.Awake () [0x0001d] in Manager\GameManager.cs:116 at GameManager.Awake () [0x00000] in Manager\GameManager.cs:107 at (wrapper runtime-invoke) GUIRadioButton.runtime_invoke_void ( object,intptr,intptr,intptr) <0xffffffff> 接收到未处理的 NULL 异常

如果我在 /clr:safe 中构建它,它可以正常工作。/clr:pure 也不起作用。

所以我决定做一个外部c#命令行项目来测试一切。我加载我的库,并在 2.0 和 /clr(混合模式)中编译没有问题。

我正在使用 Unity 2.6 Pro。

这可能是我想做的事情是不可能的,我不知道.. 我的意思是我认为这就是 .NET 的全部意义所在。我只想拥有一个可以在其他项目(C++)中重用的系统。

感谢您的任何见解。

这是我的测试 c++/cli 项目。

当我像这样创建一个 C# 命令行项目时。有用。

在 Unity3d 中执行这一行会使整个编辑器崩溃。(是的,我确实放入了 using 语句)

0 投票
1 回答
813 浏览

c# - 如何在 Unity 中的 2 个 Z 轴点之间移动,并相应地缩放组件

我正在使用 Unity 3,我的总关卡大小将只是一个四边形区域,每边都有一堵墙。其中将有两堵额外的墙,形成一个围墙,将玩家限制在逐渐扩展的关卡的一部分。

我将这两面墙称为 ZBoundary 和 XBoundary,到目前为止,原型已经将它们的移动映射到一些键盘键。我想要做的是当一个移动时,另一个长度增加,所以它们总是以垂直角度连接,所以我希望能够在 ZBoundary 的 Z 坐标和 Z 坐标之间进行线性插值Xboundary 使它们始终会面并创建连接。这也产生了一个问题,因为我不知道如何以编程方式更改 GameComponent 的大小,并且不断出错。

我知道Vector3.lerp可能会有所帮助,但我正沉浸在变换和不同的比例中,因此希望能得到帮助。

0 投票
2 回答
141 浏览

c# - 查看其他标签但不是他自己的

是否可以调用数组中的所有对象?还是使用数字是唯一的方法?

我想调用敌人[] 数组中的所有对象。让所有的敌人都能看到对方。但我不想让他们看到自己。我使用 GameObject.FindGameObjectsWithTag 将数组填充到另一个脚本中。

0 投票
2 回答
514 浏览

c# - 远离目标

我有一个数组,其中填充了所有带有标签 Enemy 的对象。当一个敌人靠近另一个敌人时,它必须远离那个敌人或绕过它。

这就是我现在所拥有的:

如果敌人靠得足够近,他们就会互相绕圈。还尝试使用 2 个立方体触发器,当敌人物体接触其中一个立方体时,立方体敌人会旋转远离它。也尝试了不同的角度。但没有运气:(

我仍在努力寻找解决方案。但是,如果您对此有更好的了解,我们将非常感谢您的帮助 :)

提前致谢!!!

0 投票
2 回答
15657 浏览

c# - TCP client for Unity

How to write a TCP client in Unity3d which reads data constantly from a server socket and prints to the console or updates on some text boxes?

0 投票
1 回答
642 浏览

xcode - 使用 unity3d 在 xcode 中集成 openfeint

我想制作一个使用 Unity3d的openfeint排行榜。xcode

我正在使用 Unity 3.2 和 openfeint 2.9.1。

我已经正确构建以及他们在 openfeint Unity 支持 readme.txt 和打开 feint web 链接中所说的内容。

但是我遇到了错误

命令 /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2 失败,退出代码为 1

我究竟做错了什么?

我正在使用 ios 4.2。

我已经尝试并纠正了所有统一播放器设置并将目标 ios 平台设置为从3.0to3.2但我得到了同样的错误。

任何人都可以指出做错了什么。?

谢谢你。

0 投票
3 回答
3055 浏览

c# - 如何在未通过设置的分辨率的屏幕分辨率上获取游戏对象位置

我在屏幕上找到了一个对象。一开始它位于 x=0,y=0,z=0 之后它移动到不同的位置。我只是想确保该对象不会移动到用户不可见的位置(它是玩家主角本身,我既不希望玩家能够从他当前的位置返回,也不希望玩家跟随他前进)。

你能解释一下我需要在这里做什么吗?

0 投票
1 回答
4947 浏览

unity3d - 没有角色控制器的 Unity 跳球

我想知道如何在不使用角色控制器的情况下在 Unity 中进行球跳跃。球需要有一个用于重力的刚体和一个脚本,以使其在球的相对方向上跳跃。有人可以帮忙吗?

0 投票
0 回答
923 浏览

c# - Protobuf-net v2 alpha 编译 iphone 的 dll 问题

我们正在使用 unity3d(monotouch) 引擎 (C#) 开发跨平台在线游戏,并且我们使用 protobuf-net(感谢 Marc Gravell)作为协议。众所周知,反射在 iOS 上不起作用。Apple 不允许动态生成代码。我们查看了 Marc 的博客(http://marcgravell.blogspot.com/),发现早期的 protobuf-net v2(虽然还没有完成)可以避免反射问题。

我们做了一些测试,并尝试将序列化代码预编译为 dll 文件,但是,当我们在 ios 上运行它时,我们收到以下消息。

>

这是我们编译的dll代码

这是我们的测试代码

我们在 Windows 环境下编译了 dll(compact framework .net 3.5),也许它在 monotouch 上不起作用。

0 投票
2 回答
1046 浏览

unity3d - 变换游戏对象

我正在尝试将对象移动到存储在数组中的多维数据集。

数组中填充了带有标签的游戏​​对象。

我可以让对象立即移动到立方体,但不像它走向它那样缓慢。

这是我的脚本:

我也试过这个Time.deltaTime东西,但它会传送到远离立方体的地方。

而且只是将其转换为 Transform Array 也无法解决:( 有什么想法可以使它工作吗?

非常感谢您的帮助:) 提前致谢!