Jump to content
Unity Insider Forum

Elowan

Members
  • Content Count

    58
  • Joined

  • Last visited

Community Reputation

2 Neutral

About Elowan

  • Rank
    Advanced Member
  1. Vielen dank! Ich hatte mich schon etwas gewundert, was der da so alles mit den Texturen macht Aber nun sehe ich das klar, dank eurer Erklärungen. Habe es danach noch einmal nachvollzogen und nun ist alles gut!
  2. Hmmm, wenn der Importer von 2048 auf 1024 runter rechnet... ändert der dann die tatsächliche Datei oder macht es das als Kopie oder irgendwie virtuell? Finde ich etwas undurchsichtig und kann momentan noch keine Dokumentation dazu finden, die mir weiterhilft...
  3. Danke sehr Mauri - schaue ich mir mal an! Diese Art Ecken meinte ich nicht, habe alles auf Clamp stehen. Mehr so leicht sichtbare, etwas anders farbige Stellen in der Nähe der Ecken... Ich meine das hier (ist nicht von mir der Screenshot, aber genau das gleiche Problem) Wird etwas besser, wenn man die Texturen auf "RGB 32bit" stellt http://i941.photobucket.com/albums/ad258/GradyLorenzo/badSkybox.png
  4. Ok, dann sollte ich "generate Mipmaps" also nicht abschalten bei den Textur Optionen? Hatte mal den Tipp gelesen, für eine Skybox sollte man das ausschalten, weil die Texturen sonst zu schwammig werden... (hätte ich sagen sollen, dass es um eine Skybox geht, sorry) Ich meinte die Frage auch eher in dem Zusammenhang "Was ist, wenn ich z.B. für´s iPhone compilieren möchte" (sollte ich dann auch zusätzlich 1024er Texturen und entsprechendes Material haben oder rechner Unity dann die 2048 Version auf 1024 "mobile version" runter?)
  5. Hallo, kennt ihr einen kostenlosen custom-shader für eine Skybox oder Skydome? Unity´s Standard Skybox-Shader ist nicht so der Bringer, finde ich. 6 Draw calls und bei Skies mit linearen Farbverläufen kann man trotz super Texturen (2k Auflösung) und "RGB 32 Kompression" noch immer ganz leicht die Ecken der Box erahnen... Was benutzt ihr für eure Skies? Einen Dome, Sphere Map, eine optimierte Skybox? Danke für eure Hinweise!
  6. Hallo, ich frage mich, ob es Sinn macht / machen könnte, eine Textur gleich in mehreren Auflösungen in seinem Projekt zu haben. Hintergrund ist folgender: Ich habe eine Textur in 2048x2048 erstellt und die gleiche noch einmal in 1024x1024... Nun habe ich gesehen, dass ich, um die 2048x2048er Textur "aktivieren" zu können die Einstellungen für "Stand alone" überschrieben "Override" muss, weil sonst in unity bei 1024x1024 Ende wäre. (Obwohl ich, so glaube ich, in den Einstellungen die Qualität auf "Fantastic" gestellt habe) Frage 1: Sehe ich das richtig, dass man also gar nicht extra 1024er Texturen erstellen muss, weil Unity das eh runterrechnet, wenn man es nicht extra überschreibt, bzw. wenn man z.B. für´s iPhone compiliert? Dann kann man ja auch noch verschiedene Kompressionsformate für Texturen auswählen. Je nach dem erhält man verschieden große (in MB) Texturen. Frage 2: Wäre es dann evt. sogar besser, 1024x1024 zu nehmen, aber dafür dann ohne oder nur wenig Kompression? (z.B. bei Texturen für eine Skybox)
  7. Soooo, habe nun so einiges selbst gescriptet, nach der Unity reference, step by step. Es funktioniert auch alles, jetzt bin ich jedoch wieder bei letzen Schritt angelangt und benötige hier Hilfe, um auch diesen erfolgreich ans Laufen zu kriegen: // Wenn Alt+linke Maus gleichzeitig gedrückt wurden if(Input.GetMouseButton(0)&& Input.GetKey(KeyCode.LeftAlt)){ // Erzeuge Strahl, Ursprung ist der MouseInput (Cursor) 2D x,y Koord. im Screen.Space Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition); RaycastHit hit; if(Physics.Raycast(ray, out hit)){ // Wenn etwas getroffen wurde, existierten ein hit.point & hit.distance = (Entfernung [m] Vom origin (MouseInput) zum hit.point Debug.Log("Etwas getroffen bei Koordinate "+hit.point); // 3D x,y,z Koord. im World.Space) Debug.Log("Name des GObj "+hit.collider.name); // Name des GOs Debug.Log("Entfernung "+hit.distance+" Meter"); // Entfernung (Schrägstrecke 3D) Debug.DrawLine(ray.origin, hit.point); // Darstellung als Line (Ursprung zu Treffer) auf dem Bildschirm Der Debug liefert: Etwas getroffen bei Koordinate (-72.3, 26.0, 70.1) Name des GObj A_BS2-full-rot-fix Entfernung 298.859 Meter So - wie verschiebe ich nun meine Camera auf den X,Y Wert der ermittelten Koordinate? Ist "Camera.main.transform.position = new Vector3(hit.point.x, hit.point.y, 0);" richtig? Oder noch besser wäre es, der "Target Variable" meiner Camera würde auf das getroffene GameObject "A_BS2-full-rot-fix" als neues Target zugeordnet werden (den Namen des GOs habe ich ja zumindest). (Habe ich mittlerweile selbst herausgefunden) Leider habe ich es immer noch nicht geschafft, alle scripte in eines zu packen. Das funktioniert einfach so nicht. Egal, ob ich selber alles neu programmiere oder nicht. Entweder pan ODER Zoomen per Mousewheel, beide zusammen no way. Das liegt an dieser Stelle: // calculate position based on the new currentDistance position = target.position - (rotation * Vector3.forward * currentDistance + targetOffset); transform.position = position; Wenn man die letzte Zeile auskommentiert, dann geht Pan, rotate usw. aber der Mousewheel zoom nicht mehr (logo). transform.position beisst sich wohl mit dem pan getaxis-script, bzw. dem berechnen der Verschiebungen... Ich werde einfach mal versuchen, Teile vom Cam script auf andere GO auszulagern... mal sehen, was da geht.
  8. nein, halt! Noch eine Frage zur Struktur: Sollte es alles in 1 Script gepackt werden oder macht es (mehr?) Sinn, es zu unterteilen, z.B. manches einem GO zuzuordnen, anderes eher der MainCamera? Oder ist es unerheblich?
  9. Komme leider erst nächste Woche dazu, es in die Tat umzusetzen. Vielen Dank !
  10. Das ist sicherlich richtig, Malzbie. Ich versuche, aus dem Code anderer zu lernen, den anzupassen und für mich nutzbar zu machen. Dabei lerne ich die Dinge (so der Plan). Ich sehe schon an vielen Stellen, was der code da so macht - nur kenne ich nicht die Alternativen Funktionen/Befehle von Unity, weiß nicht "Warum das nur so gehen kann" oder "Wenn du in dem Script das so machst - dann kannst du xy nicht so in dem anderen script machen", usw. Ok, wie dem auch sei: Ich werde einen letzten Versuch wagen, bzw. sind es genau genommen zwei 1. Dem ZoomRotateScript mal ein "echtes" Target (ein angeklicktes GO) zuweisen und sehen, wie sich das ganze dann verhält. Ich hoffe, das sich das Problem (der Cam-tilt um die Z Achse) damit lösen lässt, bzw. gar nicht auftreten wird. (Den Teil mit Alt+Linke Maus = zentrieren+cam Richtung Go verschieben lasse ich dabei erstmal raus) Wenn das klappt, muss ich einen Weg finden, wie ich das target wieder "löschen", bzw. "breaken" kann, so bald man mit der Maus wieder panning macht... 2. Alternativ den Teil mit Alt+linke Maus belassen und einen Weg finden, die Verschiebung durch hit.distance so ablaufen zu lassen , dass die Cam die gleiche "Y-Höhe" wie das GO bekommt + sich in der Z-Achse der Cam nichts ändert (also diese unsägliche Rotation ausbleibt oder "auf null" gesetzt wird) Vielleicht mit "Camera.main.transform.rotation.z = 0"?! Falls das auch nicht geht, bleibt nur 15$ auszugeben für eine Cam-Script aus dem Asset Store oder es ganz bleiben zu lassen. Mir stehen max. 12h Freizeit pro Woche zur Verfügung (die ich am PC nutzen kann). Geht man mal davon aus, dass man so ab 6 Monaten intensiven lernens erst Resultate vorweisen können wird, ist es dann nächstes Jahr Sommer, bis ich so etwas wie eine "Homeworld-Cam" aus dem Ärmel schütteln kann Aber gut - gut Ding braucht Weile... allerdings werde ich dann wohl wieder umsteigen und ein anderes Game modden, statt zu versuchen, es von Grund auf direkt so aufzubauen.
  11. Meint ihr, mit Playmaker geht so etwas, bzw. ist dort schon so etwas implementiert, was ich suche? Wenn ich die Cam-Steuerung so nicht ans laufen kriege, dann vielleicht damit?
  12. Also das Pan script funktioniert schon - nur läuft die Cam nicht mit, weil es einem "leeren GO" zugeordnet ist, welches das Parent der MainCamera ist... und "Camera.main.transform.parent" funzt net: Assets/Scripts/NewMove.cs(47,20): error CS1955: The member `UnityEngine.Transform.parent' cannot be used as method or delegate boah, ich krisch de Motten hier... so ziemlich alles und jedes script habe ich nach etwas probieren in den Griff bekommen... nur Unity scheint mich einfach nicht zu mögen.... nur zur Sicherheit: Die MainCam ist jetzt child des GO´s - oder muss ich noch etwas im script reinschreiben?! ich mag nimmer... echt mal irgendwie geht es jetzt - wenn ich den Mouse WHeel Zoom weglasse.... ich weiß auch nicht
  13. Leider funktioniert es so nicht mehr mit dem Pan-Script. Rotieren und Zoomen ja, aber das andere Script macht nix und es gibt auch keinen Fehler aus... Habe nun beide Scripte einfach ohne child/parents direkt an die MainCam angehangen... aber es funktioniert immer nur eines von beiden - entweder das zoom/rotate script aber dann nicht das pan-script oder wenn beide aktiv gesetzt werden, funktioniert das zoom/rotate, aber wie gesagt das Pan nicht. Pan geht nur, wenn zoom/rotate deaktiviert ist.... Und ALT+Linke Maus geht auch nicht mehr so recht.. Bild zuckt zwar, aber wird nicht mehr zentriert oder verschoben.... och mensch... ;( Beide irgendwie zusammengeklöppelt habe ich auch durch mittlerweile... dann geht beides, aber.. wie soll ich das beschreiben... so bald ich einmal rotiere, vertauschen sich die Achsen beim Pan script - rechts wird oben, links zu unten usw. - je nach dem, wie man halt rotiert... aber eigentlich sollen die "Raumbezugsachsen?!" sich nicht verändern, egal wie ich rotiert habe. Oben soll oben bleiben und nicht zu rechts oder links werden....
  14. Hui, das klingt nach einem "ganz einfachen" Fehler, bzw. nach einer dummen Anfänger-Frage/Problem, mit dem ich euch jetzt hier belästigt habe. Ich werde heute abend probieren, ob es denn so ist. Gleichzeitig habe ich gesehen, dass man die Sache auch mittels "renderer.bounds" umsetzen könnte. Hätte das Vorteile gegenüber der jetzigen Methode? Ich denke dabei an folgendes: (ohne es bisher ausprobiert zu haben) Meine Objekte sind von stark unterschiedlicher Größe. Wenn ich nun in dem Script für die Cam fest um eine "hit.distance-10" verschiebe, dann könnte (nehme ich einfach mal an) der Fall eintreten, dass es bei sehr großen Objekten "zu nahe" ist und sie nicht ganz im Bild sind. Recht kleine Objekte könnten "zu weit weg" sein. Es kann also sein, dass die hit.distance je nach Größe des Objektes angepasst werden muss. Falls es wirklich so sein wird, könnte ich es damit lösen, in dem ich jedem Objekt das Script anhänge (mit speziel "zugeschnittener" hit.distance-N), bzw. den Teil des Scriptes, wo ich mit Alt+Maustaste die Verschiebung mache? Also diesen Teil nicht in dem Cam-Script lasse, sondern auf die GOs "auslagere" / ihnen zuordne ? Oder macht das wenig Sinn und es gibt viel elegantere Wege? Ich weiß, ich müsste es ja erstmal ausprobieren - aber leider geht das erst heute abend und mir brennt es einfach unter den Nägeln
×
×
  • Create New...