Questions tagged «unity»

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

2
尽管使用了Time.deltaTime,但移动似乎与帧速率有关。
我有以下代码来计算在Unity中移动游戏对象所需的转换LateUpdate。据我了解,我对的使用Time.deltaTime应使最终的翻译帧速率独立(请注意CollisionDetection.Move(),仅用于进行射线广播)。 public IMovementModel Move(IMovementModel model) { this.model = model; targetSpeed = (model.HorizontalInput + model.VerticalInput) * model.Speed; model.CurrentSpeed = accelerateSpeed(model.CurrentSpeed, targetSpeed, model.Accel); if (model.IsJumping) { model.AmountToMove = new Vector3(model.AmountToMove.x, model.AmountToMove.y); } else if (CollisionDetection.OnGround) { model.AmountToMove = new Vector3(model.AmountToMove.x, 0); } model.FlipAnim = flipAnimation(targetSpeed); // If we're ignoring gravity, then just …

1
何时使用混合树与状态机进行动画制作
我是一位经验丰富的游戏开发者,最喜欢用3d动画角色制作游戏(在Unity中),并且努力弄清楚何时使用混合树与动画状态机。我从概念上理解了两者,但是在Unity和其他来源的大量教程中都看到了混合树和用于角色动画的动画状态机。我不确定何时/为什么一个人比另一个人更好,希望有人能指出我正确的方向。 我的游戏是第三人称角色扮演游戏rpg a'la WoW或KOTOR或Mass Effect(我知道不同的系统,但视角和战斗风格在较高水平上是相近的)。我有无数动画来制作攻击,格挡,假装,死亡,行走,奔跑,跳跃,射击等,但是我不清楚如何自然地将它们排序。 我已经看到用于运动的混合树在尝试保持角色运动流畅性时对我来说很有意义,但是我不明白如何从该混合树进入攻击状态,到目前为止,我还没有看到任何东西超出运动范围(没有攻击等等)。我需要从运动状态到攻击/死亡/闪避状态制作混合树吗?我是否仅使用状态机就拥有更多控制权?我对状态机有点谨慎,因为它们非常常见,而且我怀疑在不混合的情况下,变态动画排序的潜力更大。 我打算使用Unity字符控制器并编写自己的逻辑脚本来驱动它。对于AI,我将使用内置的导航网格物体代理。角色控制器动画的处理方式是否与AI动画不同? 任何见解都将受到欢迎! 谢谢

3
C#和UnityScript在Unity开发中有何不同?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 5年前关闭。 除了明显的语言差异之外,在Unity3D中开发游戏时,UnityScript和C#有何不同? 有明显的性能差异吗? UnityScript代码是否按原样打包?如果是,这是否有助于游戏的可修改性? 是否可以使用针对一种语言开发的库,而同时使用另一种语言开发? 两种语言可以在同一个Unity项目中混合使用吗?在C#中编码某些部分,在UnityScript中编码其他部分?

1
Sprite Mode为Multiple时,如何以编程方式访问单个Sprite?
Unity 4.3新增了一项功能,可以将子画面表分割为多个单独的子画面。这很有用,因为您只需要一个主Spritesheet,但是仍然可以引用单个Sprite。通过将Sprite Mode设置为Multiple来完成。 可以从Unity Sprite Editor中以编程方式访问从主文件生成的所有Sprite吗? 例如:我有一个带有50x50精灵网格的Spritesheet。使用Unity Sprite Editor,我现在有250个Sprite :spritesheet_0, spritesheet_1, ..., spritesheet_249。如何获得一个句柄,spritesheet_102而不必在Unity编辑器中手动将其拖放?

3
.sln / .csproj对共享Unity项目有用吗?
我们在使用GIT和Unity时遇到了一些问题。.sln / .csproj文件经常会给我们带来麻烦,因此在网络上搜索了一会儿之后,我发现也许没有必要推送此文件。有人对此有任何反馈吗?https://gist.github.com/hw/1234398例如,.gitignore中包含这些文件,但老实说我不知道​​这种文件的作用。 我可以将它们从我的存储库中排除,还是该文件与游戏中的某些参考相关?

5
如何在Unity3d中绘制轮廓?
我正在尝试突出显示任意高度的矩形。我认为最简单的方法是创建一个单独的“盒子”游戏对象来勾勒出矩形。 我同时尝试了MeshRenderer +透明纹理和LineRenderer来勾勒出矩形的四个点。两者都不是很令人满意。 (线渲染器在中间,缩放的立方体在右侧) 解决这个问题的正确方法是什么?我正在尝试获得类似于左侧矩形的东西-通过选择的四个点来固定宽度的简单周长。
13 unity  graphics 

3
如何在Unity中进行单元测试?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 如何在Unity3D上实施单元测试。 我想知道是否有可能扩展Unity编辑器以在其中添加某种测试框架。 是否有任何实施指南? 有参考书,博客吗? 任何可行的示例或项目?

3
Unity是否已有对时间表的支持?
我正在计划开发Unity3D中的游戏,并试图与引擎已经提供的功能以及我必须自己编写的功能保持一致。 游戏本身将是一种节奏游戏,这意味着同步音频和图形事件,以便它们始终在应有的时间播放。我要避免的是潜在的滞后情况,其中音频或图形开始比其他速度更快。 当我们回到大学时,在我的游戏设计课程中讨论这种类型的协调系统时,我的教授将此类型的设计称为“时间轴”课程。这样的想法是,您可以实例化这些对象中的一个或多个,以不同的速度进行进度,安排将来发生的事情,并同步周期性事件。但是,将其称为“时间轴”类似乎仅限于我的教授本人,因为一直在搜寻某个API是否具有“时间轴”功能是徒劳的。 这种功能是否有更通用的名称?Unity是否有任何预先存在的方法来协调此类事件的调度,或者这是需要在引擎上构建的东西吗?如果可以的话,希望您能接受一些教程!

1
如何在Unity中使用Android的自适应图标?
从API 26开始,Android使用一种称为自适应图标的工具。 定位到API 25及更低版本时,我的应用程序图标看起来不错: 但是,当定位到API 26+时,它显示为白色圆圈,如下所示: 在利用Android的自适应图标时,如何定位API 26+? 如果我要定位API 26+,但不使用Android的自适应图标怎么办?
13 unity  android 

2
如何使我的2D角色正常站立在斜坡上?
我已经在Unity3D(2D模式)中得到了这个角色...在一个看起来像这样的坡度中, 但是我希望角色沿着红线站立。 如何在Unity3d中制作? 我有这个设置。 我正在使用简单的Addforce进行运动...如果删除z位置约束,则会导致奇怪的运动,如滚动等等。

5
如何在Unity Inspector中创建切换按钮?
我想创建一个类似于Unity地形工具的工具,该工具在检查器中具有一些不错的切换按钮: 如何实现与此类似的设计?我知道如何在检查器中创建普通按钮和其他UI组件,但是我找不到足够的信息来使按钮切换。 到目前为止,我已经使用了产生复选框的普通切换: var tmp = EditorGUILayout.Toggle( SetAmountFieldContent, _setValue ); if ( tmp != _setValue ) { _setValue = tmp; if ( _setValue ) _smoothValue = false; } tmp = EditorGUILayout.Toggle( SmoothValueFieldContent, _smoothValue ); if ( tmp != _smoothValue ) { _smoothValue = tmp; if ( _smoothValue ) _setValue = …
13 unity 

3
如何从Tilemap获取所有图块?
我一直在尝试TileMap在Unity中使用新系统,我一直在寻找一种以列表或2D数组形式访问图块的方法,但是除了GetTile(Vector3Int vector)返回仅一个图块之外,我什么都找不到。去做这个 ?
13 unity  tilemap 

2
如何使用Input.GetAxis(“ Mouse X / Y”)旋转相机?
我想制作一个随鼠标旋转的第一人称相机。 我查看了Input.GetAxis Scripting API页面,并找到了示例代码,该代码已包含在文章的底部。试用后,我意识到,尽管它具有与希望的基本功能相同的功能,但它并不能使相机与xz平面平行,尤其是在圈动鼠标时。片刻之后,相机将处于一个奇怪的角度,并且播放器将完全被破坏! 是否有此代码的快速修复程序会以某种方式限制相机的移动,或者是否有更好的旋转相机的方法? using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public float horizontalSpeed = 2.0F; public float verticalSpeed = 2.0F; void Update() { float h = horizontalSpeed * Input.GetAxis("Mouse X"); float v = verticalSpeed * Input.GetAxis("Mouse Y"); transform.Rotate(v, h, 0); } }
13 unity  camera 


4
如何解决地面检查问题?
我注意到Unity的第三人称控制员的地面检查出现问题。 地面检查应检测玩家是否站在地面上。它是通过在播放器下方发出光线来实现的。 但是,如果玩家站在两个盒子的顶部和中间,并且在两个盒子之间有一个空间,则射线会射入空隙中,并且玩家会认为他没有与地面接触,如下所示: 我无法动弹。您可以清楚地看到射线在间隙中,因此播放器动画师的机载混合树处于活动状态。 解决此问题的最佳方法是什么? 我当时正在考虑从同一来源但以不同角度拍摄多条光线。并且OnGround仅当这些光线的X%到达“地面”时才应为真。或者,还有更好的方法?

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.