【Unity】入门学习笔记180516——API(3)Camera类实例方法

二、Camera类——B、实例方法


B、实例方法

1、RenderToCubemap

public bool RenderToCubemap(Cubemap cubemap);    //参数为Cubemap静态贴图

(RenderTexture cubemap);    //    参数为RenderTexture静态贴图

(Cubemap cubemap, int faceMask);    //faceMask为反射面数量,默认值为63

(RenderTexture cubemap, int faceMask);

使用摄像机生成一个Cubemap静态贴图


2、RenderWithShader

public void RenderWithShader(Shader shader, string replacementTag);

shader为要使用的shader,replacementTag为shader的tag标示

此方法的作用是可以使用指定的shader来代替当前物体的shader渲染一帧。

当replacementTag为空时会替换视口中所有物体的shader

区别与SetReplacementShader方法,此为持久性替换


3、ScreenPointToRay

public Ray ScreenPointToRay(Vector3 position);

此方法可以从Camera的近视口nearClip向前发射一条射线到屏幕上的position点

射线探测物体


4、坐标系转换

ScreenToViewportPoint(Vector3 position)

ScreenToWorldportPoint(Vector3 position)


5、SetTargetBuffers

public void SetTargetBuffers(RenderBuffer colorBuffer, RenderBuffer depthBuffer)

colorBuffer为纹理的颜色缓存;depthBuffer为纹理的深度缓存

public void SetTargetBuffers(RenderBuffer[] colorBuffer, RenderBuffer depthBuffer)

此方法将Camera的渲染赋给RenderTexture的colorBuffer和depthBuffer


6、ViewportPointToRay

public Ray ViewportPointToRay(Vector3 position)

此方法可以从Camera的近视口nearClip向前发射一条射线到屏幕上的position点

ScreenPointToRay不同点在于:S采用实际像素值的方式来决定,V采用单位化比例值得方式来决定Ray到屏幕的位置。


7、坐标系转换

ViewportToWorldPoint

WorldToScreenPoint

WorldToViewportPoint


8、关于Camera视口、aspect、pixelRect、rect的关系注解

Camera是一张二位图片,aspect来显示,pixelRect和rect决定 实际像素 还是 单位化形式 来显示

猜你喜欢

转载自blog.csdn.net/dylan_day/article/details/80341779
今日推荐