JavaScript- three.js - licht mit kamera drehen



  • hi

    ich habe eine kleine javascript webanwendung die mithilfe des three.js framworks ein 3d-objekt darstellt... (three.js -> webgl -> javascript framework)

    nun habe ich das problem das eine seite dieses objektes immer im "schatten" liegt
    wenn ich die kamera drehe so das ich die "rückseite" des objektes sehe...

    -> nun meine frage... kann ich das licht mit der kamera "verknüpfen" das sich das licht mit der kamera mit dreht...? 🙄

    daten die wichtig sein könnten:

    - lichtquellen "art" ist egal (also pointlight etc... spielt keine rolle, kann auch eine zusätzliche lichtquelle eingefügt werden die sich mit der kamera dreht)
    - kamera bewegungsart benutze ich "trackballControls" -> dies kann nicht verändert werden (also bewegungsart der kamera sollte diese art bleiben!)

    falls noch i.was interessant ist fragt ruhig...

    kann mir da jemand vielleicht einen tipp geben oder ein kleines beispiel? 🙄

    oder ist soetwas nicht möglich da dann immer neu gerendert werden müsste?
    ich führe die feertige webanwendung dann im browser aus...
    was dies sehr benutzerunfreundlich machen würde da dann bei jeder kamerabewegung ja neu gerendert werden müsste (da sich ja licht und schatten, am objekt verändert oder sehe ich das falsch?)
    wie löst man solche probleme falls nicht so wie ich gedacht habe oder wie ist die herangehensweise an solche probleme? 🙂

    mir würden auch schlagworte zum googeln, nachlesen oder sonstiges enorm weiterhelfen... 🙂
    lg


  • Mod

    Prinzipiell hast du bei jedem Objekt immer eine position.
    Da die Camera auch eine position hat, kannst du immer light.position=camera.position machen. Wenn du ein SpotLight hast, kannst du dann natürlich auch ein target setzen. Wobei das hier natürlich tricky ist ein SpotLight auf das Objekt im Fokus der Kamera zu setzen. Aber wenn du ein nicht gerichtetes Licht verwendest, ist das ja nicht notwendig. (PS: Wobei man theoretisch wohl das Licht hinter die Kamera setzen könnte und es auf die Kamera fokussieren könnte...)

    Hast du ein Minimalbeispiel wo du das Problem hast?



  • Shade Of Mine schrieb:

    Prinzipiell hast du bei jedem Objekt immer eine position.
    Da die Camera auch eine position hat, kannst du immer light.position=camera.position machen. Wenn du ein SpotLight hast, kannst du dann natürlich auch ein target setzen. Wobei das hier natürlich tricky ist ein SpotLight auf das Objekt im Fokus der Kamera zu setzen. Aber wenn du ein nicht gerichtetes Licht verwendest, ist das ja nicht notwendig. (PS: Wobei man theoretisch wohl das Licht hinter die Kamera setzen könnte und es auf die Kamera fokussieren könnte...)

    Hast du ein Minimalbeispiel wo du das Problem hast?

    jo vielen dank für die antwort... 🙂
    hatte es schon gelöst, hatte in googlesuche den hinweis darauf gesehen und es so versucht da lief es, oh wunder 🙂 ...

    danke für die hilfe 🙂
    lg


Anmelden zum Antworten