Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Unity3D - Kilka pytań


Rekomendowane odpowiedzi

Opublikowano

Witam.

Dopiero zaczynam swoją przygodę z Unity 3D i mam kilka pytań.

 

1. W jaki sposób mogę zapisać bool'e (chodzi mi o coś takiego jak PlayerPrefs.SetFloat itp.) oraz w jaki sposób mogę wywołać to (PlayerPrefs.GetFloat itp.)

2. W jaki sposób mogę zapisać QualltySettings.currentLevel oraz Screen.CurrentResolution do PlayerPrefs.

3. Czy jest możliwość, aby tekstury były ciemniejsze ? (mam ustawione w źródle światła Intesity na 0, ale to nadal jest za jasno)

4. Czy jest w assetsStore jakiś darmowy skrypt na efekt rozmycia ?

5. W jaki sposób mogę umieścić jakiś tekst, box (z GUI), np. w prawym dolnym rogu aby zawsze tam był. (chodzi o to, ze jak podam konkretnie gdzie ma być to po zmianie na większą/ mniejszą rozdzielczość ten dodany element zmienia położenie)

 

To tyle ;p

Mam nadzieje, że ktoś zrozumie o co mi chodzi, bo mam wrażenie, że trochę chaotycznie to wszystko napisałem.

Z góry dziękuje za odpowiedzi :)

Opublikowano

1 i 2

public static class PlayerPrefs {
	public static bool GetFloat = false;
	public static Resolution[] ScreenRes = Screen.GetResolution;
	public static int QualityLevel = QualitySettings.GetQualityLevel();
}

3053080006.png

Opublikowano

1. Trzeba zrobić to trochę "naobkoło" :D

Ja zazwyczaj robię to tak:

void SetBool (string name, bool val) {
    PlayerPrefs.SetInt(name, val?1:0);
}

Jeżeli chodzi o pozostałe playerprefy to ten film powinien Ci pomóc:
 

http://www.burgzergarcade.com/tutorials/game-engines/unity3d/031-unity3d-tutorial-playerprefs-5x

3. A kombinowałeś coś przy shaderach?
4. Zajrzyj tutaj: 

http://forum.unity3d.com/threads/indieeffects-bringing-almost-aaa-quality-post-process-fx-to-unity-indie.198568/

5. Elementy GUI przyjmują współrzędne od 0 do 1.  O ile dobrze pamiętam to x:0 i y:0 to lewy dolny róg. x:1 i y:0 powinien być prawym dolnym rogiem.

Opublikowano

1. Trzeba zrobić to trochę "naobkoło" :D

Ja zazwyczaj robię to tak:

void SetBool (string name, bool val) {
    PlayerPrefs.SetInt(name, val?1:0);
}

Jeżeli chodzi o pozostałe playerprefy to ten film powinien Ci pomóc:

 

http://www.burgzergarcade.com/tutorials/game-engines/unity3d/031-unity3d-tutorial-playerprefs-5x

3. A kombinowałeś coś przy shaderach?

4. Zajrzyj tutaj: 

http://forum.unity3d.com/threads/indieeffects-bringing-almost-aaa-quality-post-process-fx-to-unity-indie.198568/

5. Elementy GUI przyjmują współrzędne od 0 do 1.  O ile dobrze pamiętam to x:0 i y:0 to lewy dolny róg. x:1 i y:0 powinien być prawym dolnym rogiem.

 

Mógłbyś podać przykład do punktu 5 ?

Bo coś mi nie wychodzi ;x

Opublikowano

Załóżmy, że masz GUITexture na scenie. Dajesz transform position na x:1 i y:0. W pixelinset odejmujesz po połowie szerokości i wysokości tekstury i powinno być ok. Lepiej jednak gdybyś spróbował NGUI.

Opublikowano

Załóżmy, że masz GUITexture na scenie. Dajesz transform position na x:1 i y:0. W pixelinset odejmujesz po połowie szerokości i wysokości tekstury i powinno być ok. Lepiej jednak gdybyś spróbował NGUI.

Ale ja robię w ten sposób:

 

GUI.Label(new Rect(0, 0, 30, 30), "jakis tekst");

Co prawda to prawda ze jak wpisze 0 to pojawia się w lewym górnym rogu.

Opublikowano

W Rect dwie pierwsze wartości to pozycja, dwie następne to rozmiar. 

 

http://docs.unity3d.com/ScriptReference/Rect.html

Jeżeli dasz 1,1 (wcześniej źle napisałem) to powinien pojawić się w prawym dolnym rogu.

 

o czym ty piszesz? : D

w Rect:

1 wartosc to odleglosc od lewej strony ekranu

2 odleglosc od gory

3 dlugosc

4 wysokosc 

jak dasz dwie pierwsze 1 , 1  pojawi sie w lewym gornym rogu ekranu

1 pixel od gory

i 1 pixel od lewej strony  ^^

 

@EDIT:

 

new Rect(Screen.width-30, Screen.height-30, 30, 30);

 

30 to dlugosc i 30 to wysokosc

 

w ten sposob bedziesz mial rowno w prawym dolnym rogu

3053080006.png

Opublikowano

o czym ty piszesz? : D

w Rect:

1 wartosc to odleglosc od lewej strony ekranu

2 odleglosc od gory

3 dlugosc

4 wysokosc 

jak dasz dwie pierwsze 1 , 1  pojawi sie w lewym gornym rogu ekranu

1 pixel od gory

i 1 pixel od lewej strony  ^^

Znowu błąd :D Zamiast 1,1 - Screen.width i Screen.height.

Opublikowano

1. Trzeba zrobić to trochę "naobkoło" :D

Ja zazwyczaj robię to tak:

void SetBool (string name, bool val) {
    PlayerPrefs.SetInt(name, val?1:0);
}

Jeżeli chodzi o pozostałe playerprefy to ten film powinien Ci pomóc:

 

http://www.burgzergarcade.com/tutorials/game-engines/unity3d/031-unity3d-tutorial-playerprefs-5x

3. A kombinowałeś coś przy shaderach?

4. Zajrzyj tutaj: 

http://forum.unity3d.com/threads/indieeffects-bringing-almost-aaa-quality-post-process-fx-to-unity-indie.198568/

5. Elementy GUI przyjmują współrzędne od 0 do 1.  O ile dobrze pamiętam to x:0 i y:0 to lewy dolny róg. x:1 i y:0 powinien być prawym dolnym rogiem.

 

1. Nie działa ;/ (zapewne to źle robię)

3. Mógłbyś bardziej sprecyzować ?

4. Znalazł byś może inne ;p?

 

o czym ty piszesz? : D

w Rect:

1 wartosc to odleglosc od lewej strony ekranu

2 odleglosc od gory

3 dlugosc

4 wysokosc 

jak dasz dwie pierwsze 1 , 1  pojawi sie w lewym gornym rogu ekranu

1 pixel od gory

i 1 pixel od lewej strony  ^^

 

@EDIT:

 

new Rect(Screen.width-30, Screen.height-30, 30, 30);

 

30 to dlugosc i 30 to wysokosc

 

w ten sposob bedziesz mial rowno w prawym dolnym rogu

 

Dzięki, śmiga :D

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...