缩放游戏中的颜色选择器

时间:2018-11-21 16:27:20

标签: c# unity3d scale color-picker

嘿,

我正在使用3D房间编辑器,您可以从菜单中获取对象并将其放回房间。您还可以选择为这些对象赋予不同的颜色,这是由颜色选择器完成的。现在,我有了一个脚本,仅当我扩大颜色选择器时,该脚本才能按照我想要的方式工作,然后他不再拾取颜色,并且不再移动选择器圆圈。

我该如何解决?

GIF Color picker at 1.8 scale

GIF Color picker at above 2 scale

颜色选择器脚本:

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
<div id="app">
  <input type='button' id='input1' :class='classArray' value='Submit' />
  <input type='button' @click='toggle' value='Change class' />
</div>

编辑:

GIF

This is the inspector from the color picker color field

This is the inspector from the main camera

图像:

This is the inspector from the color picker color field

This is the inspector from the main camera

1 个答案:

答案 0 :(得分:1)

很难确定是否在Unity编辑器中看不到您的场景,但是我要检查的几件事可能会解决您的问题。

  1. 检查以确保在缩放GameObject时BoxCollider被正确缩放。缩放游戏对象后,您应该能够看到Gizmo。缩放之前/之后,请确保它覆盖UI的相同区域。 BoxCollider用于检测鼠标在整个对象上的点击,除非射线撞击该碰撞器,否则其他功能将无法正常工作。

  2. 该脚本似乎没有考虑颜色选择器的比例更改。看一下您在哪里获得用于选择颜色的X / Y坐标(在// get color data注释下)。您会注意到它将屏幕位置乘以高度和宽度,高度和宽度取自纹理的大小。需要对其进行相应缩放,以对纹理的正确区域进行采样。

如果您仍然无法使用它,我建议您发布场景层次和相关GameObjects的屏幕快照,以便我们了解其设置情况。