Representa uma câmera virtual, que determina a perspectiva com que a cena é visualizada.
Se a câmera fizer parte de um ArSceneView
, ela vai rastrear automaticamente a posição da câmera no ARCore. Além disso, os métodos a seguir vão gerar UnsupportedOperationException
quando forem chamados:
setParent(NodeParent)
: o pai da câmera não pode ser alterado, porque ele é sempre o cenário.setLocalPosition(Vector3)
: a posição da câmera não pode ser alterada, ela é controlada pela posição da câmera do ARCore.setLocalRotation(Quaternion)
: a rotação da câmera não pode ser alterada, ela é controlada pela posição da câmera do ARCore.setWorldPosition(Vector3)
: a posição da câmera não pode ser alterada, ela é controlada pela posição da câmera do ARCore.setWorldRotation(Quaternion)
: a rotação da câmera não pode ser alterada, ela é controlada pela posição da câmera do ARCore.
Métodos públicos
float | |
float | |
float |
getVerticalFovDegrees()
Recebe o campo de visão vertical da câmera.
|
Raio |
screenPointToRay(float x, float y)
Calcula um raio no espaço mundial passando do plano próximo da câmera e passando por um
ponto no espaço da tela.
|
void | |
void | |
void | |
void |
setVerticalFovDegrees(float verticalFov)
Define o campo de visão vertical da câmera externa em graus.
|
void | |
void | |
Vector3 (link em inglês) |
Métodos herdados
Métodos públicos
flutuante público getFarClipPlane ()
flutuante público getNearClipPlane ()
ponto flutuante público getVerticalFovDegrees ()
Recebe o campo de visão vertical da câmera.
Se esta for uma câmera de RA, ela será calculada com base nas informações da câmera do ARCore e poderá variar de acordo com o dispositivo. Ele não pode ser calculado até que o primeiro frame após a retomada da sessão ARCore. Nesse caso, uma IllegalStateException é gerada.
Caso contrário, ele retornará o valor definido por setVerticalFovDegrees(float)
, com um
padrão de 90 graus.
Gera
IllegalStateException | se chamado antes do primeiro frame após a retomada do ARCore |
---|
público Ray screenPointToRay (float x, float y)
Calcula um raio no espaço mundial passando do plano próximo da câmera e passando por um ponto no espaço da tela. O espaço na tela está nas coordenadas da tela do dispositivo Android: TopLeft = (0, 0) BottomRight = (largura da tela, altura da tela). O espaço de coordenadas do dispositivo não é afetado pela orientação do dispositivo.
Parâmetros
x | Posição X nas coordenadas da tela do dispositivo. |
---|---|
y | Posição Y nas coordenadas da tela do dispositivo. |
void public setLocalPosition (Vector3 posição)
Defina a posição da câmera. A câmera sempre isTopLevel()
, portanto, se comporta
da mesma forma que setWorldPosition(Vector3)
.
Se a câmera fizer parte de um ArSceneView
, esta não é uma operação compatível.
A posição da câmera não pode ser alterada. Ela é controlada pela posição da câmera do ARCore.
Parâmetros
position | A posição a ser aplicada. |
---|
void public setLocalRotation (Alternância de rotação)
Defina a rotação da câmera. A câmera sempre isTopLevel()
, portanto, se comporta
da mesma forma que setWorldRotation(Quaternion)
.
Se a câmera fizer parte de um ArSceneView
, esta não é uma operação compatível.
A rotação da câmera não pode ser alterada. Ela é controlada pela posição da câmera do ARCore.
Parâmetros
rotação | A rotação a ser aplicada. |
---|
void public setParent (NodeParent pai)
Operação incompatível. O pai da câmera não pode ser alterado, é sempre o cenário.
Parâmetros
primária | O novo pai do qual este nó será filho. Se for nulo, esse nó será removido do pai. |
---|
public void setVerticalFovDegrees (float verticalFov)
Define o campo de visão vertical da câmera externa em graus. Se esta for uma câmera de RA, o fov vem do ARCore e não pode ser definido, então uma exceção é gerada. O padrão é 90 graus.
Parâmetros
VerticalFov |
---|
Gera
SupportedOperationException | Se esta é uma câmera de RA |
---|
public void setWorldPosition (Vector3 posição)
Defina a posição da câmera. A câmera sempre isTopLevel()
, portanto, se comporta
da mesma forma que setLocalPosition(Vector3)
.
Se a câmera fizer parte de um ArSceneView
, esta não é uma operação compatível.
A posição da câmera não pode ser alterada. Ela é controlada pela posição da câmera do ARCore.
Parâmetros
position | A posição a ser aplicada. |
---|
public void setWorldRotation (Alternância de rotação)
Defina a rotação da câmera. A câmera sempre isTopLevel()
, portanto, se comporta
da mesma forma que setLocalRotation(Quaternion)
.
Se a câmera fizer parte de um ArSceneView
, esta não é uma operação compatível.
A rotação da câmera não pode ser alterada. Ela é controlada pela posição da câmera do ARCore.
Parâmetros
rotação | A rotação a ser aplicada. |
---|
público Vector3 worldToScreenPoint (Vector3 ponto)
Converta um ponto do espaço mundial em um espaço na tela.
O valor X é negativo quando o ponto é deixado da janela de visualização, entre 0 e a largura da SceneView
quando o ponto está na janela de visualização e maior que a largura quando o ponto está à direita da janela de visualização.
O valor Y é negativo quando o ponto está abaixo da janela de visualização, entre 0 e a altura do SceneView
quando o ponto está dentro da janela de visualização e maior do que a altura quando o ponto está acima da janela de visualização.
O valor Z é sempre 0, já que o valor de retorno é uma coordenada 2D.
Parâmetros
point | o ponto no espaço mundial para converter |
---|
Retorna
- um novo vetor que representa o ponto no espaço da tela.