Articles of 统一

我应该如何处理派生类中的animation状态系统?

我正在尝试为我的游戏对象获取某种状态系统。 我有一个基本的Actor类,派生类像警察,Informant或Brawler。 这些类中的每一个都描述了不同的function,但我希望尽可能多的function被共享。 那些是animation系统。 每个class级都有自己的国家(比如警察有散步,喊叫和射击,而警察有空闲和私语)。 处理这些状态的最好方法是什么? 我有Actor类有类似的东西吗? enum ActorState { state1, state2, state3, … } 只要将适当的actor(Policeman,Informant等)的每个行为映射到ActorState,以便ActorState的渲染系统可以接管? 或者也许是有一些更好的解决scheme,人们使用。 游戏是2D的,基于sprite的,我使用的是Unity3D系统,Actor是GameObjects的一个组件。

保持对象与地面的距离固定,车的行为

我正在制作一个脚本,使我的物体距离地面1米。 到目前为止,我有以下代码:使用UnityEngine; 使用System.Collections; public class HoverScript : MonoBehaviour { public Transform target; public float hoverDistance; void Start () { } void Update () { } void FixedUpdate () { if (Physics.Raycast(transform.position, Vector3.down, hoverDistance)) { RaycastHit hitInfo; Physics.Raycast(transform.position, Vector3.down, out hitInfo, hoverDistance); float correction = hoverDistance-hitInfo.distance; //Debug.Log(correction); //Debug.Log(target.position); target.position = new Vector3(target.position.x, target.position.y+correction, target.position.z); //Debug.Log(target.position); } […]

在Unity3D中是否可以平铺盒子碰撞体,而不会造成“错误”的碰撞?

这是关于像sidescroller这样的东西,你有一个瓷砖地图,每个瓷砖使用二维框对撞机。 如果你使用二维圆形对撞机作为你的角色的一个例子,当它在一系列平铺的二维方块对撞机上滚动时,它偶尔会与平铺块之间的接缝发生碰撞,而不是平滑地穿过它们。 在我的情况下,瓷砖是1×1单元直接相邻。 当在一排瓷砖上滚动一个二维圆形对撞机时,它大体上是平滑的,但施加的力量越大,圆圈飞到空中的机会就越大,而不是在它们滚过它们时保持不变。 我得到的明显的结论是使用边缘碰撞器,而不是工作正常,但我希望find一种方法来完全消除这个问题,即使只是2D框对话框。 谢谢,Tim

如果游戏是按下保险杠启动的,则Unity会提供错误的input值

正如标题所述,我有以下问题。 这是一个非常具体的边缘案件,但这是我不能解决的问题。 在Unity中,我创建了两个Axes,让我可以在Xbox控制器上检查左侧和右侧缓冲器的值。 我遇到的问题是我正在使用的控制器是一种特殊的产品,默认情况下,左侧和右侧保险杠始终打开。 这是控制器上的目的,绝对不能改变。 这里的问题是,因为控制器默认情况下启动Unity时保险杠被按下,它读取这些button的input值为0而不是1(因为我有控制器设置为提供正input)。 我已经用一个普通的Xbox控制器通过在启动游戏之前手动按下触发器testing了这一点,我得到了相同的结果,所以我可以确认它是一个Unity事物而不是一个控制器问题。 修复控制器input的唯一方法是手动刷新保险杠(这种情况下连接到传感器)。 这对我来说目前还不是一个可以接受的方式来刷新设备,我只需要立即获取设备的正确input。 有没有一种方法,我可以在代码中,没有游戏识别控制器,直到我指定? 原因是如果我在游戏开始后插入我的设备,我会得到正确的值。 这个游戏只能在Windows上运行,所以我会打开一个操作系统级别的脚本,利用一些Windowsfunction。 编辑:我想我应该加我曾尝试通过代码发送可视化input到设备,这并没有解决这个问题。

响应游戏对象上的鼠标input

我正在尝试使用一个立方体来统一一个简单的button。 我的计划是当立方体突出显示它将朝着相机移动并以特定颜色突出显示时,然后单击它时将返回并转换为其他颜色。 我也想知道如何使事件发生时点击一个对象。

如果当前目标不可访问,则在NavMesh上查找最近点

我有一个模拟环境设置了一个具有指定的“不可走”层的立方体。 我正在使用NavMeshAgent和NavMeshPath来设置播放器的目的地。 我设置path的方式是通过鼠标点击在地形上的光线投射点。 如果我点击具有“不可行走”图层的多维数据集,玩家只是碰到多维数据集并尝试到达这一点,我无法find解决办法。 我已经阅读了有关FindClosestEdge函数的统一,但我不认为这正是我正在寻找。 所以基本上我需要将目标位置更改为立方体旁边的最近点。 有任何想法吗?

光照贴也被认为是纹理吗?

我希望我的游戏支持最大纹理尺寸为1024的手机,所以我的纹理地图集是1024.我的问题是:lightmaps是否也被视为纹理,其最大尺寸必须是1024? 或者他们可以有像4096更高的尺寸?

Maya关键帧animation要统一

对不起大家! 我对这个超级新手,我正在努力教自己的团结。 我从一年前在大学学习的一个3d建模课程中学到了一个关于Maya的非常小的知识,并且在Maya中制作了一个非常简单的对象,并使用关键帧(准确地说是2个关键帧)对其进行了animation处理,但是我似乎无法弄清楚如何把这个animation转换成Unity。 现在我已经玩了好几个小时了,所有的教程和我在网上find的东西都是用于像人一样复杂的对象,并且有关节和其他东西在继续。 animation在Unity中是否需要关节? 我已经将我的Maya文件保存到我的资产文件夹中,但在Unity中的导入设置中看不到任何animation。 这是我的目标: 它激起了这个位置:

Unity中的animation面板 – “Entry”在哪里?

我正在关注Unity的教程,并且看到如下的截图: 当我复制教程的步骤时,我意识到我的屏幕上没有绿色的“input”框。 我一直在想为什么会这样,我能想到的唯一原因是: 该教程跳过了一个步骤 我有一些configuration错误 在最新版本的Unity中,该框已被删除或replace 哪一个? 我忘了第四个选项吗? PS:如果是选项#3,有人可以解释我这是什么function,它取代了什么? 更新我正在使用Unity 4.6.2f1

检查器中显示具体types列表,但不包括接口列表

在Unity中的一个自定义C#类中,我需要在检查器中公开一个对象List ,并且它们需要符合特定的接口。 下面是我的class级定义的两行。 Card是我游戏中的具体types, CellObserver是一个界面。 多个类可以实现这个接口,所以我想这样定义它,如果可能的话。 public List<Card> currentCards; public List<CellObserver> observers; Card对象的列表显示在检查器中,但是基于CellObserver列表却没有。 这个界面也不是唯一的 – 我也有一个类似的行为。 代码建立得很好,据我所知,这是在C#中有效。 我还需要在Unity中做些什么才能实现这个列表? 或者这在Unity中不是一个选项?