问题标签 [unity3d-editor]
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# - C# 是否有理由不将功能放在 Attribute 类中?
我正在编写一个标记方法的属性,以便它可以显示为单击时调用该方法的按钮。
应该为属性赋予我得到它的方法的 MethodInfo 似乎是合适的,并且它可以在屏幕上绘制自己并在单击时调用该方法。这样一来,课堂就很好而且自给自足。
但我从未见过包含其实际功能的属性类。它们始终只是其他类使用的数据容器。
是否存在与性能相关的实际原因,为什么应将功能排除在属性类之外?
unity3d - Unity3d 错误:“TextMeshGenerator 的字符串太长。切断字符。”
在没有 StackTrace 的情况下,我不断收到此错误:
“TextMeshGenerator 的字符串太长。切断字符。”
在 Unity3d 版本 5.0.2f1 中是否有人遇到过这个问题?
我应该关心它还是忽略它?
unity3d - unity3d 在编辑期间用场景中的预制件替换对象
我正在开发一个 2d 游戏。我有8张地图。地图是由“墙”游戏对象制成的(我复制或复制了它们,是的,这是个坏主意,这是我的第一个大型正常项目)。现在我需要更改所有这些“墙”组件设置。我虽然我可以制作一个预制件,所以以后会更容易。想象一下我的层次结构是什么样的以及我需要改变什么。
我真正想做的是将 3DCollider 添加到 2D“墙”,这样我的粒子就会发生碰撞。任何帮助表示赞赏。
unity3d - EditorGUI 序列化 PropertyField 与其他字段类型
这本质上是一个“利弊是什么”的问题。
基本上,在 Unity Editor 脚本中,需要从资产或数据的某个版本中获取EditorGUI.PropertyField(...)
某种形式,而无需序列化步骤就可以使用另一个字段,所以我想知道您应该在何处/何时使用 PropertyField 以及何时使用不应该。SerializedProperty
SerializedObject
EditorGUI.TextField(...)
我实际上是从 PropertyFields 开始的,但是随着我的数据库经理的成长,我在编辑和保存数据方面遇到了越来越多的问题,直到最终我回到了EditorGUI.TextField
现在我不记得为什么我首先开始使用SerializedProperty
并认为我缺少一些优势(即,一种更新保存数据的方式不会导致每次用户更新项目名称并导致滞后来电AssetDatabase.SaveAssets()
)
谢谢你的时间。
这是我的编辑器脚本的一部分:
这是 Item 类的示例:
python - Xcode / mod_pbxproj:如何设置 ENABLE_BITCODE
我正在尝试使用从 Python 脚本调用的mod_pbxproj.py修改 Unity3D 生成的 Xcode 项目,该脚本由PostProcessBuild属性触发。由于iOS 9中的新警告中描述的问题,我需要设置ENABLE_BITCODE = NO。
我是一名 Python 新手,对 Xcode PBX 内部结构了解不多。我尝试了很多电话,比如
或数组、字典等变体。我尝试的一切要么没有完成工作,要么在系统日志中抛出错误。最后,我在 mod_pbxproj.py 中得到了一个补丁,它可以满足我的要求:
和
现在调用project.add_other_buildsetting ('ENABLE_BITCODE', 'NO')
几乎可以按预期工作。我在 pbxproj 文件中有 5 个条目,而不是在 Xcode 中手动设置选项时注意到的 2 个更改。无论如何,它似乎到目前为止工作。
但是:修补一个众所周知的软件感觉很奇怪,我无法相信使用标准 mod_pbxproj.py在buildSettings树的根目录中添加(或修改)选项是不可能的。
如何做到这一点?
编辑: 我的 mod_pbxproj 分支
c# - Unity - 调整一个游戏对象的大小以匹配另一个
我正在 Unity 中开展一个项目,该项目涉及将任何非静态对象从一个传送到配对的区域。那部分很好,但为了方便起见,我正在尝试编写脚本的一部分,如果调整一个对象的大小,它将调整一个对象的大小,以便它们始终具有相同的大小。到目前为止,它的工作原理 - 主要是。我遇到的唯一问题是尝试通过 Transform 组件调整大小时 - 例如在 Inspector 中输入数字,或使用 X 或 Y 或 Z 上的值滑块。手柄工作正常。我想这没什么大不了的,但如果我能弄清楚为什么这不起作用,这样我就可以知道将来该怎么做,我会很高兴的。这是代码:
如果有人能看到我正在做的一些重大的逻辑错误,我想知道。如果我的代码有点难以理解,我也可以稍微解释一下我的逻辑流程,我知道我很容易做出一些令人困惑的结构。
谢谢各位。
unity3d - 用于构建 2D 世界的自定义组件
嗨,我正在尝试制作一个由 2D 精灵构建的游戏世界。
例如(http://opengameart.org/sites/default/files/Preview_97.png)
我首先尝试建造一所房子,在完美对齐大约 30 多个精灵之后,我意识到我给自己的任务规模。
我想知道是否可以创建一个自定义组件,我可以给它一个公共宽度/高度,它会在编辑器和玩游戏时用小精灵创建一个房子。
如果可以的话,有人可以给我一个简单的例子来说明如何解决这个问题,因为我从来没有统一创建过自定义编辑工具。
c# - 作为变量检查器的一部分,如何保存二维数组?
我有一个包含一些变量的组件。重新启动 Unity 时将保存变量。(整数,颜色,浮点数)
要编辑变量,我有我的检查员:
不幸的是,我无法弄清楚如何存储布尔值的二维数组(map [,]),所以他在重新启动 Unity 时仍然存在。我所做的一切都是为了对文件进行序列化并在启动 App 时查找文件。(阵列可以是一个大的 1000x20)也许你可以提出一个更好的主意?谢谢!原谅我的英语。
unity3d - 用于 Unity WebGL(运行时)的 EditorUtility.OpenFilePanel
我希望用户在 Unity WebGL 游戏中从计算机中选择图像,但我无法为这个东西获取任何库或代码。我想要 UnityWebGL(运行时)的 EditorUtility.OpenFilePanel 的确切功能。
string path = EditorUtility.OpenFilePanel("用 png 覆盖","","png");
有没有办法在 Unity WebGL 构建中获得这个打开的对话框?或者有什么办法可以在java脚本中做到这一点?就像我从用户那里获取 java-script 中的图像并将其传递给我的 C# 代码一样。