问题标签 [unity3d-2dtools]
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.
c# - Unity 2d 动画不会从脚本播放
我正在 Unity 中制作 2D 横向滚动游戏,当玩家射击障碍物时,我希望播放障碍物动画然后自行摧毁。我让它自毁,但动画不会播放。有什么建议么?
}
感谢您的任何帮助!
c# - Unity - 2D 移动平台育儿
我在 2D 游戏的移动平台上为角色育儿而苦苦挣扎。
当玩家踏上移动平台时,我正在使用 OnTriggerEnter2D() 进行检测。它改变了他的父母到那个平台。使用普通的移动平台(左右)一切正常,如果一个角色站在该平台上,他会与之平行移动,他可以行走、跳跃等。当我使用悬挂在与 HingeJoint2Ds 连接的两条绳索上的平台时,就会出现问题。玩家应该通过左右行走来摆动该平台。当使用键盘输入时,一切正常,但使用触摸输入控制器时,当玩家不移动时,角色会留在一个地方并且不会随着该平台移动。在层次面板中一切都是正确的,玩家是平台的孩子,平台在移动,但角色没有。
对于移动角色,我正在使用这个:(角色控制器的一部分)
键盘和触摸输入也是如此。不同之处仅在于“移动”变量的获取。移动和摆动平台的解决方案也是相同的。(层次结构,父母,对撞机等)
我为此苦苦挣扎了几个小时,但我不知道可能出了什么问题。
谢谢你的帮助。
unity3d - 与 Unity 不一致的浮动
我有几个预制件用于随机生成“房间”,但相同的代码导致宽度不一致:
顶部(northWall)应该与底部(southWall)的宽度相同,但它显然是大小的 3 倍。
这是实例化其他“墙”预制件的“房间”预制件(此时它们基本上都只是四边形)。
我要疯了吗?是不是太晚了,我错过了什么?
谢谢。
unity3d - 玩家不会停留在移动的平台上
我为我的游戏创建了一些移动平台。有一个名为 PlatformPath1 的游戏对象,它的子对象定义了平台循环的开始和结束,然后显然是遵循路径的实际平台。平台移动完美,但正如预期的那样,玩家不会随着平台移动。如何让玩家随平台移动?
这是 PlatformPath1 的代码
这是平台的代码
unity3d - Unity3d 是否有类似 Mesh Collider 的 2D 对象?
我制作简单的 2D 游戏,我设计了玩家在游戏中经历的“方式”。如果玩家碰到墙,游戏就结束了,所以我必须检测碰撞。
起初我用精灵创建墙壁,但后来我意识到没有适合自己形状的 2D 对撞机(很难从许多较小的多边形和圆形对撞机手动创建对撞机),所以我制作了构建“方式”3D对象的所有墙壁(z = 0.001的.dae文件),并将适合自己的mash collider添加到3D对象中。我也将我的播放器更改为 3D,以便碰撞类型匹配。它起作用了,但我敢肯定,如果所有游戏对象都是 2D 的,同样的游戏可以在相同的资源下以更好的性能运行。
如果一个对撞机适合 3D 对象但没有适合 2D 的对撞机,那怎么会存在呢?也许我错过了什么?
unity3d - unity 2D,不稳定跳跃
我一直忙于平台游戏,目前跳跃不稳定。它有时会跳得比正常高。
我的跳跃:
如果你们中的任何人知道解决方案/提示,那将对我有很大帮助!
animation - Unity3d - 将简单的 2d 动画重用为复杂的动画(内部图像)
我为射击创建了一个简单的弩臂动画(见图 1)。
我现在需要的是将此弩臂动画添加 2 次到弩射击动画中(见图 2)。是否可以在父对象动画编辑器或动画编辑器中触发子对象动画的启动?
如果是这样 - 怎么做?
unity3d - 2D 弹跳公式无法正常工作
我是统一的新手,我正在尝试创建一个弹跳球,所以我做了很多关于弹跳物理的研究,我找到了一个公式:
公式:
其中 V 是速度矢量,N 是球将在其上反弹的表面的法线
这是我的脚本:
我在开始函数中给球一个速度矢量,我使用 OnTriggerEnter2D 进行碰撞处理,并使用 raycast2D 来获得表面的法线。
问题是脚本没有反映称为 R 的速度向量,我认为问题出在法线向量中。
例如,假设 V 是 Vector2(-1,-1),所以基本上 R 应该是 (-1,1),但事实并非如此。R 是 (3,1) !
我已经成功地通过反转球的速度使球在水平/垂直表面上弹跳,但这不适用于任意角度,这就是我使用这个公式的原因。所以有什么问题 ?
c# - 如何在不旋转对象的情况下旋转精灵或使运动旋转独立
我在unity2d中做了一个东西,其中一个对象根据鼠标的位置与对象的位置相比移动,为此,有一个从对象到鼠标的向量,所有的运动要么平行于此,要么垂直给它。
这在添加精灵旋转之前工作正常(添加如下所示)
当我在更新中停止运行此功能时,运动再次起作用。
有没有办法在不旋转物体的情况下旋转精灵,或者不伤害运动?
我无法找到任何关于这些问题的任何信息,我无法弄清楚(抱歉丹麦代码)
代码检查向上和鼠标之间的角度(向上为零)并将对象的旋转设置为那个或减去那个 Awwkaw
unity3d - 将 unity2D 中的对象移向另一个单击的对象
- 我的场景中有一个名为“玩家”的对象。
- 我还有多个名为“树”的对象。
现在,我希望每当用户单击“树”时,“玩家”缓慢移动到该位置(使用 Lerp 或 moveTowards)对我来说都可以。
现在我对这段代码有两个问题:
我希望这段代码是通用的
每当我单击树对象时,我都希望将播放器移向该树。我不想编写此脚本并将其附加到每个树对象。
我应该把脚本放在哪里?
目前我将此代码附加到每个树对象。
我应该如何写下来,以便它适用 于场景中的每个树对象?
如果在移动时再次单击,则取消之前的移动并开始移动到新位置
- 我应该如何编写它,以便如果我在 玩家向另一个被点击的对象移动时单击另一个对象,玩家将停止向其先前位置移动,并开始向新点移动。
我在适应新的 UnityScript 时遇到了一些麻烦。我完全来自 Javascript 背景,看起来它们中的 2 种语言具有非常不同的语义。因此,如果有人用代码回答这个问题(这是我想要的:)),我也会很感激一些冗长的评论。
我目前这样做:
我是在没有 Unity 的家里写的,我忘记了代码语法,因此希望上面的代码有拼写错误或问题,在工作中它工作得很好,除了非常粗糙和简单。