2013-09-29 3 views
6

Derzeit arbeite ich an einigen Augmented Reality Mobile App mit Unity3D. Die Leistung wird durch die Bildqualität beeinflusst.So fragen Sie die Webcam nach Autofokus mit Unity3D

Gibt es eine Möglichkeit, Webcam mit Unity3D Autofokus zu stellen?

+0

Hallo flyzhao, Haben Sie das erfolgreich gemacht? Haben Sie die Webcam oder Gerätekamera gezwungen, den Fokus innerhalb von Unity zu setzen? – Joshua

+1

@Joshua Ich arbeite jetzt nicht daran. Aber Sie können ein paar native Android-Plugins im Asset Store finden. Es kann dieses Problem beheben. Außerdem denke ich, dass kaos Antwort gut ist. Es wäre die beste Methode, wenn Sie ein gewisses natives Wissen über Android kennen. – flyzhao

Antwort

6

Soweit ich weiß ist es in reinem Unity3D nicht möglich.

Wenn Sie dies jedoch unter Android entwickeln, können Sie ein Plugin in Java schreiben, das den Autofokus einstellt und von Unity3D aus aufruft.

public void enableAutofocus() { 
    camera = camera.open(); 
    Camera.Parameters parameters = camera.getParameters(); 
    List<String> focusModes = parameters.getSupportedFocusModes(); 
    if (focusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO)) { 
     parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO); 
    } 
    camera.setParameters(parameters); 
} 

Und dann haben Sie Ihre Klasse von Unity3D zu nennen:

public class ExampleClass : MonoBehaviour { 
    void Start() { 
     AndroidJavaObject jo = new AndroidJavaObject("com.mypackage.Autofocus"); 
     jo.Call("enableAutofocus"); 
    } 
} 

Sie weitere Informationen here über das Erstellen von Java-Plugins für Unity3D finden.

+0

Hi Kao, Bist du sicher, dass das möglich ist? Hast du das selbst ausprobiert? Mein scheint nicht zu funktionieren ... – Joshua

+0

Kannst du mir bitte helfen, dieses Snippet für die neue 'camera2' neu zu schreiben? Ich bin wirklich verwirrt ... Ich brauche nur die "enableAutofocus" -Methode, um die Kamera zu öffnen und ihren Fokus zu setzen. Vielen Dank – Joshua

Verwandte Themen