Questions tagged «unity»

Unity是一个跨平台的游戏创建系统,专注于简单的美术制作流程。它由游戏引擎和集成开发环境组成。游戏引擎的脚本基于Mono。

1
为AI找到达到目标的正确速度
我有一艘以最大速度行驶maxSpeed并且rotationSpeed每秒可以转度的船。船舶始终沿其面向的方向移动,这意味着船舶行驶的速度越快,其转弯半径就越大。 我知道我的位置,以及旋转和目标的位置。 我想弄清楚的是,目标物体是否在此速度下或者更好的旋转半径内,所以我能以最大速度行驶是为了在不不断绕转目标的情况下转向目标。 有没有一种有效的方法来做到这一点? 到目前为止,这是我在想的事情:因为我知道每步走了多远,每步旋转了多少,所以我可以弄清楚接下来两帧中的位置。我当前的位置是p1,我的下一个位置是p2,然后是p3。我可以取(p1,p2)和(p2,p3)的垂直平分线。他们的交点将给我一个圆心。然后,我可以测试目标是否在该圈子中。 我不确定这是否可以在3D模式下工作(我不确定如何使用输入来计算球体)。此解决方案也无法找到合适的行进速度,也无济于事,我不得不尝试几次以不同的速度找到合理的行进速度。 任何人都可以提出更好的解决方案吗?

2
git在一个统一项目上的问题
我试图使用git对项目文件夹进行版本控制。但是,当从存储库中拉出项目时,出现了问题:显然缺少脚本,预制件和所有图形元素都显得有些粉红色。有人知道如何解决此问题吗? 这是我目前正在使用的.gitignore: Temp/ Obj/ UnityGenerated/ Library/ ExportedObj/ *.svd *.userprefs *.csproj *.pidb *.suo *.sln *.user *.unityproj *.booproj .DS_Store .DS_Store? ._* .Spotlight-V100 .Trashes Icon? ehthumbs.db Thumbs.db 提前致谢。
10 unity  git 

2
如何展平游戏对象下的地形?
我有一个脚本,可以创建地形对象并用纹理对其进行绘制,但是我遇到了问题。当我尝试放置游戏对象(例如unity提供的简单水对象)时,我使用了射线投射来确定放置游戏对象的正确高度,但这只是确保将其正确放置在该特定点上。 我该如何平整游戏对象下方的地形,以使其在山丘的情况下不会进入地形或挂在稀薄的空气中?
10 unity 

1
获取2D“像素”云跟随鼠标
我正在开发一个2D游戏,试图获得由数百个微小的立方体或光盘组成的“云”,以跟随我的鼠标光标而彼此不重叠。 但是,随着光盘数量的增加,使用物理引擎会导致性能变慢,并且碰撞检测通常比较困难。 有没有一种简便的方法可以针对这种情况优化引擎?如果没有,那么我会关闭引擎并编写自己的东西会更好吗?(在这里抓着稻草,但是:)是否有很好的资源或示例说明如何做到这一点?
10 2d  physics  unity 

2
Unity Occlusion Portal:什么以及如何?
(在这里,我在Meta上吃了我的话,即在Unity Answers上发布Unity问题...,因为该网站的响应速度不及此网站。) Unity提供基于单元的遮挡剔除(我相信是通过Umbra)。但是,它支持的较新功能是“遮挡门户”。 问题是,如果基于BSP的遮挡剔除已经是Unity的功能,门户将添加什么,以及如何添加? PS。这个问题不是“什么是门户?” -我知道原始的Quake BSP风格的门户-这部分是为什么我在Unity中发现显式门户概念很奇怪的原因,因为它仍然使用BSP。

4
射击前计算轨道周围的导弹轨迹
我正在使用Unity3D构建游戏。这是《重力战争》的副本。玩家和AI炮塔都向对方发射导弹(给出一个角度和一个Power变量),试图不使导弹坠落在行星上。但是,这是我的问题:在考虑导弹的引力的同时,如何使AI在射击导弹之前先计算功率和角度?


2
原型体验:Unity3D与UDK [关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 5年前关闭。 有没有人尚未原型在一场比赛中都 Unity3D和UDK? 如果是这样,那么每个工具箱中的哪些功能使游戏原型制作变得更容易或更困难? 如果原型具有相同的起始资产,那么该原型是否明显好于其他原型? 我正在寻找有关使用工具包功能的具体答案,而不是对可用功能的比较。例如,由于Y和Z原因,在工具箱X中更容易破坏地形。 我可以编写代码,因此内置脚本语言的局限性不是问题。
10 unity  udk 

3
Unity Android与android SDK
关于统一android basic的公告出来后,我对Unity以及学习android SDK的过程都很熟悉。 直接使用android SDK与使用Unity Android进行开发有什么优缺点?

2
在Unity中生成随机数而不会产生类歧义
我在Unity(C#)中有一个要创建随机数的问题。我想使用System.Random(reference:using System),但是Unity抱怨它与自己的模棱两可UnityEngine.Random。我不能指定引用(使用System.Random),因为random它不是名称空间。如何指定我要随机使用系统而不是Unity系统?
10 unity  c# 

1
如何在生成的锥化网格上修复Z字形UV贴图伪像?
我正在基于曲线创建程序网格,如下图所示,整个曲线的网格尺寸都变小了。 问题是UV会随着大小的变化而呈锯齿状(当整个曲线的网格大小相同时,UV会完美地起作用)。 Vertices.Add(R); Vertices.Add(L); UVs.Add(new Vector2(0f, (float)id / count)); UVs.Add(new Vector2(1f, (float)id / count)); start = Vertices.Count - 4; Triangles.Add(start + 0); Triangles.Add(start + 2); Triangles.Add(start + 1); Triangles.Add(start + 1); Triangles.Add(start + 2); Triangles.Add(start + 3); mesh.vertices = Vertices.ToArray(); //mesh.normals = normales; mesh.uv = UVs.ToArray(); mesh.triangles = Triangles.ToArray(); 我怎样才能解决这个问题?


2
为什么Unity图层蒙版需要使用位移?
我终于弄清楚了为什么我的地面碰撞代码的图层蒙版不起作用。我曾经NameToLayer()用来获取所需的图层,但是图层蒙版使用位移来实际设置图层蒙版值。这是非常不寻常的,我看不出任何原因都无法在后面的代码中处理。为什么我们必须使用如下代码: mask = 1 << LayerMask.NameToLayer("Default"); 当这样的事情: mask = LayerMask.NameToLayer("Default"); 更加直观,并且与Unity API的其余部分类似?
10 unity  c# 

5
如何创建一个新的GameObject,而不将其添加到场景中?
我正在创建本质上是我自己的预制系统。游戏对象是由人类可读的数据文件定义的。我想创建一个空的GameObject,将其加载到数据文件中定义的组件中,并准备好等待Instantiate()调用。但是,每当我使用GameObject go = new GameObject()新游戏对象时,都会将其添加到场景中。 使用内置在预制件中的Unity,我可以将预制件作为GameObject加载,并且不会将其添加到场景中。(请参见下面的示例) 这背后的基本原理是我希望有一个包含GameObjects的列表,其中一些是通过加载Unity预制件生成的,而另一些是由我的自定义预制系统创建的。这需要在运行时发生,并且不能涉及Unity编辑器(因为理想情况下,最终用户将能够定义自己的数据文件)。 如何创建一个新的GameObject,而Unity却没有自动为我实例化它? 例如,我可以这样拨打电话: Resources.LoadAll("PrefabsDirectory", typeof(GameObject)) 然后,我将获得一个GameObjects列表,在进行调用时,这些列表都不会添加到场景中。本质上,我正在LoadAll为自己的预制件创建方法,同样,我不想在调用时实例化GameObjects。

4
是否应该使用UsedImplicitly属性注释Unity生命周期方法?
使用UsedImplicitly属性注释Unity生命周期方法是否可以提高代码的可读性? 例如: public class Example : MonoBehaviour { [UsedImplicitly] private void Awake() { DoSomething(); } private void DoSomething() { // ... } } 这篇关于“构建Unity MonoBehaviours”的博客文章建议将此方法作为有用的约定。 使用[UsedImplicitly]属性注释代码中隐式(或自动)调用的所有Unity生命周期方法(开始,唤醒,更新,OnDestroy等),事件方法和其他函数。尽管此属性包含在UnityEngine.dll中,但ReSharper使用它来为似乎未引用的方法禁用代码清除建议。它还有助于使刚接触Unity和您的代码库的人更容易阅读代码,尤其是对于通过检查器引用的事件。 (注意:我不认为ReSharper会为看似未引用的Unity生命周期方法显示代码清理建议,因此这可能已过时。) 我同意上面的帖子,这对于那些对Unity较新的人可能会有帮助。我还认为这可能是标记那些有用的统一生命周期的功能不被使用的频繁程度Awake,Start以及Update。但是我想知道这是否真的是“干净代码”的良好约定,还是仅仅是噪音降低了可读性。
9 unity  c# 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.