Autor Wątek: Projektowanie gier w środowisku Unity 3.X - Jakieś rady dla początkującego?  (Przeczytany 9350 razy)

Offline koirat

  • Użytkownik

# Styczeń 29, 2013, 20:43:06
Zawsze możesz tak. Wyłącz unity, poszukaj projektu na dysku znajdź jakąś scene i dwókliknij ją :).

BTW. Wspominałem już że dość często buguje się mono-develop ? Czasem mu się zdarza, natomiast najbardziej wkurza jak staje się  to intellisense-m i przestaje on działać (to się dzieje dość często). Wrzucanie breakpointa co jakiś czas zawieszało mi projekt i musiałem go hard-zakanczac :) włącznie z Unity i monodevelopem.

I dlaczego unity musi cały czas nadpisywać mi plik projektu !!! W mono-develop ustawiam sobie na .NET 4.0 dzięki czemu mogę np używać defaultowych agrumentów do funkcji. Obył bym się bez tego ale problem z tym że biblioteka z której korzystam to wymusza. Więc za każdym razem jak zmienię coś w unity co przekłada się na zmianę w źródle, np dodanie nowego pliku zmiana nazwy itp. Cholerstwo musi z powrotem zmienić mi na .NET 3.5 ustawienia projektu, a ja jak głupi jestem zmuszony cały czas to zmieniać bo mi się projekt nie będzie kompilował. I gdzie tu KISS ja się pytam ;).

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline nopel

  • Użytkownik

# Styczeń 29, 2013, 22:08:28
Na razie monodevelop mi się nie wywalił :P, z 2 strony przy 20 linijkach kodu, to nic dziwnego.
//Edit - w trakcie pisania posta wywalił się monodevelop, na szczęście zapisałem :E
Za to mam problemik.
Mianowicie, zadeklarowałem int score = 0;Wyświetlam w GUI ją tym kodem: void OnGUI () {
GUI.Label (new Rect (0,0,100,50), "Ilość wystrzelonych pocisków: " + score);
}
Wszystko działa, w sumie nie wiem po co wkleiłem tutaj ten kod :D, ale:

Jak temu zapobiec?
Bo wolałbym normalne polskie znaki, zamiast jakiś znaczków :P
Pozdrawiam serdecznie ;)

Offline Avaj

  • Użytkownik

# Styczeń 29, 2013, 22:31:28
sprawdź w jakim kodowaniu zapisuje MonoDevelop. Prawdopodobnie trzeba zmienić na UTF-8

Offline nopel

  • Użytkownik

# Styczeń 29, 2013, 22:43:08
Było na UFT-8, po zmianie na Western poszło ;)

Offline koirat

  • Użytkownik

# Styczeń 29, 2013, 22:46:11
Najlepiej to dodaj sobie taka zmienna do komponentu "public string textFormat;"

następnie w Unity3d wpisz w to pole "Ilość wystrzelonych pocisków: {0}"

na koniec w OnGUI

GUI.Label (new Rect (0,0,100,50), string.Format(textFormat,score));

Offline Kos

  • Użytkownik
    • kos.gd

# Styczeń 29, 2013, 22:47:56
WTF? Dlaczego na UTF-8 nie działa?

Offline Xirdus

  • Redaktor

# Styczeń 29, 2013, 22:52:51
@koirat przesadzasz. To by było przydatne tylko jak by liczba była w środku. Jak jest na końcu to nie ma to najmniejszego sensu.

Offline nopel

  • Użytkownik

# Styczeń 29, 2013, 23:12:40
Właśnie tez byłem bardzo zdziwiony jak zobaczyłem że na utfie 8 nie działa, ale spróbowałem westernu i chodzi..
Nieważne, ważne że działa :D

Offline Nest

  • Użytkownik

# Styczeń 31, 2013, 03:05:29
nic nigdy przeznaczonego domyślnie na Maca nie działa dobrze na Windowsie, jedyne problemy jakie ja mam ze swoim unity to po całym dniu pracy w nim potrafi strasznie zwolnić a mono długo przełączać się między skryptami.

Nopel, Ja bym ci proponował zbudować projekt na UTF-8 i go włączyć i u siebie i na jakimś innym kompie, czasami view z unity a self bulit to dwie inne bajki. Teraz możesz mieć dobrze ale po eksporcie może się okazać że wszędzie jest źle a u Ciebie jest dobrze. O różnicy między view a bulidem przekonasz się szczególnie przy implementacji multiplaya

wracając.

Cytuj
Mianowicie, zadeklarowałem

int score = 0;
Wyświetlam w GUI ją tym kodem:
        void OnGUI () {
                GUI.Label (new Rect (0,0,100,50), "Ilość wystrzelonych pocisków: " + score);
        }

czy to co piszesz ma na łopatologie działać: licz ile razy strzeliłem?



using UnityEngine;
using System.Collections;

public class Pociski : MonoBehaviour {

public static int score = 0;


void OnGUI()
{
GUI.Label(new Rect(Screen.width/100f, Screen.height/100f, 100, 50),"Ilość wystrzelonych pocisków: " + score.ToString());
    }
}
« Ostatnia zmiana: Styczeń 31, 2013, 03:27:47 wysłana przez Nest »

Offline nopel

  • Użytkownik

# Luty 02, 2013, 11:20:36
Nie cały kod wkleiłem :p
Przy wystrzeliwywaniu sphera (bullet) jest także ++score;
Szukam kogoś kto pomógłby mi przy takich drobnych pierdółkach, może ktoś dać konktat na priva?
Pozdrawiam.

Offline nopel

  • Użytkownik

# Luty 02, 2013, 13:38:02
Napotkałem problem, mianowicie robię terrain za pomocą Terrain Modeler, chciałem pomalować, wybrałem teksturę itp., jest podietlona na niebiesko.
Klikam na terrainie (pokazuje mi się na nim niebieski kształt jakby pędzla, tj jaki obszar maluje), i albo nie rysuje się nic, albo w zupełnie innym punkcie niż ten na który klikam. O co może chodzić?
Pozdrawiam.

Offline Nest

  • Użytkownik

# Luty 02, 2013, 14:55:18
z tym terenem masz tak za każdym razem? to jest jakiś dziwny bug unity, nigdy tego nie miałem, spróbuj zmnienić rozdzielczość terenu z 2000 na 1000 i zobaczyć co się dzieje

Offline nopel

  • Użytkownik

# Luty 21, 2013, 13:22:16
No Panowie postęp zrobiłem dość duży, przez prawie całą książkę przebrnąłem.
Ale nastąpiła duża zmiana: Jednak będę pisał dla androida.
I tutaj nasuwają się pytania:
1. Jakies ogólne rady odnośnie optymalizacji? Wyłączyłem cienie tam gdzie sie dało, rozdzelczość teksturki terraina uległa zmianie tj teraz jest ona mniejsza, sam terrain zmiejszylem o wiele - ale co dalej można zrobić?
2. Sterowanie. Czyli jak np. mamy tą grę Dead Trigger, ona jest w unity zrobiona, to jak są dodane te gałki do chodzenia etc.? Unity samo dodaje owe gałki, czy może trzeba coś zrobić?
3. Licencja. Czyli jeśli aktywuję 30 dniowego triala, to po tych 30 dniach ten projekt nad którym pracuje nie będzie mógł być zkompilowany dla androida tak?
Pozdrawiam ;)

Offline gotji

  • Użytkownik

# Luty 21, 2013, 15:12:35
nic nigdy przeznaczonego domyślnie na Maca nie działa dobrze na Windowsie.

To Unity było na początku tylko na Maca?

Offline necron

  • Użytkownik

# Marzec 25, 2013, 09:41:52

Jak zrobisz nieskończoną pętle w komponencie to Unity będziesz mógł wyłączyć jedynie przez Menadżer Zadań ;). I miej nadzieję iż nie tak dawno zrobiłeś sava.

Wystarczy zrobić na końcu sekwencji odsyłacz do eventu który jest podpięty na początek sekwencji ;)