问题标签 [unity-components]
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.
unity3d - 将刚体力应用于 Unity 组件
我有一个 NGUI 精灵、NGUI 标签和刚体组件附加到我的游戏对象。当我对我的游戏对象的刚体施加力时,只有一个组件受到影响。如果我启用了这两个组件,则对精灵应用力,如果我禁用精灵,则将力应用于标签组件。我需要将力应用于具有刚体的游戏对象中的所有组件。我做错了什么或错过了什么?
谢谢
c# - Unity 预制件的行为不同,具体取决于是将它们静态拖动到场景中还是让它们由代码动态生成
如果我像这样实例化一个预制件:
预制小行星的碰撞根本没有记录,但如果我只是将小行星拖到场景中,碰撞就会完全按照预期工作。
c# - 在 Unity / C# 中动态创建 CustomEditor 类
我正在尝试在我的 Unity 项目中实现编辑模式脚本。这个想法是可以将脚本附加到对象上,并且在对其进行编辑时,可以看到诸如比例/位置/旋转之类的属性正在更新。
无需编写编辑模式脚本,所有这些都是可能的,但在按下播放按钮之前,这些更改是不可见的。这就是这里的区别。
我正在使用此处提供的脚本的变体来执行此操作。
首先,我有一个 MonoBehavior 脚本附加到我的游戏对象 - 它看起来像这样:
updateEditorState
其次,我在编辑器文件夹中有一个脚本,只要按下“更新”按钮,它就会调用此方法:
这很好用,我很感激,但最后一段代码是纯样板文件。对于我想要影响编辑模式的每个脚本,我需要一个几乎相同的文件。
所以我开始尝试制作一个“元”编辑器脚本。这个想法是这个脚本将有一组插槽,开发人员可以将脚本拖入其中。拖到这里的每个脚本都会得到一个自定义编辑器类,如上图所示。当然,被拖到这里的类每个都需要实现updateEditorState
,但这是协议的唯一要求。
因此,如果我制作另一个如下所示的编辑器脚本:
然后我可以触发以下updateEditorState
功能:
但正如你所见,我不知道如何动态生成类。
c# - 如何在 Unity 中屏蔽自定义 UI 图形?
在 Unity 2017 中,我通过制作自己的继承自UnityEngine.UI.Graphic
. 但是我的代码无关紧要,因为您可以使用文档中的SimpleImage 示例来观察这个问题。问题是这些从 Graphic 派生的自定义 UI 行为不能被Mask 组件屏蔽,即使每个本机 UI 元素都可以。这很奇怪,因为根据Graphic.OnPopulateMesh
文档,Text
,Image
和RawImage
都使用相同的方法。
重现:
- 创建一个 UI 画布。
- 创建一个名为 Mask 的 UI Image 作为 UI Canvas 的子级。
- 将 Mask 组件添加到 Mask 游戏对象。
- 添加一个 Image 和一个 SimpleImage 作为 Mask 的子级。
- 观察 Image 被屏蔽,而 SimpleImage 没有。
这对我来说是个问题,因为我需要在滚动视图中使用自定义图形。如何使我的图形与 Unity 的图形一样可屏蔽?
unity3d - 在脚本中使用来自链接游戏对象的组件
抱歉,如果这太简单了,但我无法找到答案。通常,问题要么太复杂而无法回答,要么太简单以至于不知道。
这部分是 UNITY VR/VRTK 问题(也许......)
无论如何,我的目标是为我的 Canvas 设置触发器,以便能够启动视频播放器并使其启用并在拾取对象时出现在场景中。到目前为止,除了我能够在玩家与游戏对象交互时触发这两个动作之外,一切都已就绪。
在我的脚本中,我有:
很简单,但一切都在统一中联系在一起,而且很有趣。我的问题是我试图引用 GameObject 上的脚本,以便我可以使用它的触发器来使视频播放器能够执行它的操作。在附加的 Interactible 脚本中有一个简单的布尔值,我认为它可能有效,或者我可以自己编写,问题是我不知道如何从 GameObject 组件中引用。也许我只是不理解它,但我看了一段时间,现在我转向你,集体寻求帮助......
帮助 :(
-在此先感谢大家,该项目还有更多内容,但我认为这些将是最相关的。如果我错过了需要的东西,请告诉我。
c# - 我无法从自己的游戏对象(unity3d)访问组件
我想从 CarAgent 组件(出租车游戏对象)访问 HorizontalAxis 变量。当我尝试从另一个游戏对象访问它时它工作正常,但是当我尝试在 CarUserControl 中访问它时,它也是一个出租车组件,它说 CarAgent 不存在。
这是另一个游戏对象的脚本,它工作正常:
这是 CarUserControl 脚本:
如何访问 CarUserControl 中的 HorizontalAxis 变量?
编辑:我尝试访问此脚本中的其他类,但它也不起作用。我从 UnityStandardAssets/Vehicules/Car 得到这个脚本,所以一开始是这样写的:
我是统一和 c# 的新手,所以它改变了一些东西。如果是,我该如何解决?
unity3d - Unity 网格系统问题(如何使网格在纵向模式下自动折叠成列
我的问题很难描述,所以希望(通过我提供的图片)有人可以帮助我解决这个问题。如果您有信心可以修复它,我愿意在必要时付费。我需要这个修复。
我一生都无法弄清楚如何使用 Unity 画布/布局组。我有一系列一次只显示一个的画布(将它们视为屏幕)。每个画布内部都有组件(第一个是图形和计时器,然后是数据面板和一些按钮。
这是我希望每个面板看起来像的图像(一次只能打开其中一个):
本质上,我只希望每个子画布(深灰色框)占据屏幕的约 50% x 50%,并且当方向为水平/垂直时,相应地平铺它们。
每个子面板(深灰色)只需要更改。面板内的孩子可以相对于父画布保持和缩放。
我已经尝试了一切,翻阅了文档,并且已经用完了所有选项。
unity3d - 如何将对象从世界画布动画到覆盖画布
我的游戏顶部有一个栏,上面有一些对象和游戏分数,非常基本和常见。我有一些硬币(类似于马里奥的游戏),我想将它们从世界画布动画到位于画布覆盖层中的栏顶部。
按照设计,Canvas Overlay 是在相机之后绘制的,所以它在我的世界画布之上,所以动画发生在正确的位置,但对象通过我的菜单后面,而不是在它的顶部。
我怎样才能做到这一点?要将我的世界画布中的对象动画到画布叠加层中的对象顶部?
这是我的“BAR”,后面的蓝色大四边形相当于我的硬币,我希望将它画在小条的顶部。
这是检查器,大四边形是对象“PieceOfShapeIClone”,它前面的条是“ShapeI”对象。由于“PieceOfShapeIClone”在下方,它应该呈现在之前的对象之上。