我目前正在Unity中开发室内设计增强现实应用程序,并且需要检测摄像头指向的墙的颜色,但我似乎无法找到解。有什么功能可以帮助我解决我的问题吗?十分感谢!Camera(Unity3D)中的颜色检测
回答
您可以使用从摄像机位置到前进方向的光线投射。作为Unity的示例,请参阅下面的代码。
void FixedUpdate()
{
RaycastHit hit;
if (Physics.Raycast(transform.position, transform.forward, out hit, 100.0f))
{
Color color = hit.transform.gameobject.GetComponent<Renderer>().material.color;
print("Object colour: " + color);
}
}
RaycastHit变量保存有关射线撞击的任何物体(两点之间的不可见线)的信息。您可以通过从渲染器组件获取材质并从中查找其颜色属性来引用对象颜色。例如:
Color color = hit.transform.gameobject.GetComponent<Renderer>().material.color;
*现在添加到上面的示例。 查看Unity文档中的raycast中使用的完整语法和可能的参数=>Here。
希望有所帮助。
您首先需要创建一个WebCamTexture
对象以开始从设备的相机中提取信息。 These Unity Docs说明如何在中说明该类的构造函数的部分。
完成之后,您可以使用GetPixel(x,y)
函数获取特定像素的颜色。另外,由于可能存在图像和被观察表面的不完整性,我建议从纹理中取多个样本并将它们平均。
嗨,我使用kudan开发我的AR应用程序,我不知道如何添加webcamtexture。你有什么想法如何做到这一点? – Sarah
@Sarah哦!如果您使用Kudan,我会建议他们的[Wiki入门](https://wiki.kudan.eu/Main_Page)。进入该链接,进入“Unity插件”下的链接,当你完成[截图截图](https://wiki.kudan.eu/Taking_a_Screenshot)部分时,你会知道你的一切需要知道从相机获取“纹理”,您可以使用它。然后你可以使用'Texture'来代替'WebCamTexture' – Foggzie
非常感谢! @GuntherFox – Sarah
- 1. Unity3D Choppy Camera Motion
- 2. unity3d颜色submeshes
- 3. opencv中的颜色检测
- 4. Java颜色检测
- 5. Ghostscript颜色检测
- 6. 检测iDevice颜色
- 7. 硒 - 检测颜色
- 8. Java颜色检测
- 9. 检测精灵的颜色
- 10. Unity3D中的碰撞检测
- 11. Java:检测颜色(例如,我的颜色是蓝色的吗?)
- 12. Python中的RGB颜色检测语言
- 13. AS3中的颜色检测可能吗?
- 14. 检测图像中的颜色斑点
- 15. 检测NSColorPanel中的颜色变化
- 16. Python中的主要颜色检测
- 17. 在OpenCV中检测颜色的深浅
- 18. 图像中物体的颜色检测
- 19. Java中的颜色检测器
- 20. 颜色SURF检测器
- 21. PHP颜色强度检测
- 22. 碰撞检测颜色
- 23. C#aforge颜色检测
- 24. 颜色检测算法
- 25. 颜色边缘检测+ opencv
- 26. 颜色检测和分析
- 27. Opencv Android颜色检测
- 28. 从物体中检测颜色并更改其颜色ios
- 29. OpenCV颜色检测为黄色
- 30. 如何从PDF中检测颜色Python
通过相机,你的意思是你的手机的物理?如果你的相机“拍摄”一个物体,你想知道它的颜色,是什么意思? – Hellium