我需要Three.Color()对象还是我可以简单地使用自己的{r:xx,g:xx,b:xx}对象

问题描述 投票:0回答:1

我有一个颜色模块,用于表示大多数类型的颜色。拥有Three.Color对象是简单的,它只是一个具有三个r,g,b属性的对象。

但是Three.Color具有使用多种方法的原型。

所以问题是:我可以在三个需要颜色的地方使用普通的{r:xx,g:xx,b:xx}对象吗?或者,如果我实际上使用新的Three.Color()代替,那么最好(避免进行转换)。

object colors three.js prototype
1个回答
0
投票

我想您问题的答案取决于您的情况。 Three.js渲染器使用.isColor之类的属性进行大量检查,因此,当引擎检查要处理的对象类型时,在很多情况下传递仅带有.isColor值的对象将行不通。

此外,如果将渲染器设置为处理伽玛色彩校正,则将需要{r, g, b}。再加上我可能无法想到的其他几种情况,所以我认为最好是从一开始就创建一个.convertLinearToGamma,以避免将来再遇到许多不良行为。

© www.soinside.com 2019 - 2024. All rights reserved.