Siemka może ktoś działa tutaj z #vuforia #vumark. Mam problem ze vumarka który powinien być stringiem odczutyje jako hex... do tego jak se rozkoduje hexa to jest to string uzupełniony jakimiś dziwnymi znakami i jest cały od tyłu więc jak mam w kodzie siema to dostaje hexa 0x0000000000616D656973 na string: ameis i przed tym kwadraciki.

najgorzej, ze od razu w kodzie widze ze jest totyp hex a nie string, chociaż po
@fuul7:

C# to C#. Unity wspiera C# 9.0 (obecnie jest C# 11, ale generalnie nie ma to dla ciebie większego znaczenia, różnice między 9 a 11 są marginalne, głównie ulepszacze czytelności)

Oczywiście używając Unity większość czasu będziesz korzystał z unitowych magicznych funkcji i całego API, ale język i jego funkcjonalności są te same.

Odpowiadając na pytanie "Czy opłaca się uczyć czystego C#?"

Jeśli nie miałeś styczności z programowaniem w ogóle -
Który silnik wybrać Unity czy Unreal? Dodam, że z dwóch języków C# i C++ znam ten drugi. Czy Unreal sprawdzi się do gier 2D? Grafika nie musi być najważniejsza, ale liczy się dla mnie elastyczność np. możliwość dodawania własnych shaderów albo klas obiektów.

#gamedev #unrealengine #unity3d

Który silnik wybrać?

  • Unity 67.6% (23)
  • Unreal 32.4% (11)

Oddanych głosów: 34

Hej buł by ktoś chętny do przetestowania mojej gierki na #steamdeck? Narazie to wersja beta demka, sam nie mam konsolki a chciałbym dowiedzieć się czy wszystko jest ok. Dodatkow zauważyłme, że na padzie lewa gałka porusza kulką wolniej niż prawa i nie wiem czy to mój chi ński odpowiednik pada od xboxa czy ustawienia w #unity3d.
Jak tylko steam mi wygeneruje kulcze to podeślę chętnym.
#gamdev #gamedev
Fat_Mo - Hej buł by ktoś chętny do przetestowania mojej gierki na #steamdeck? Narazie...
Na starcie gry skrypt tworzy dwie instancje samochodu: s1 i s2. Jak wewnętrzny skrypt w samochodzie może się dowiedzieć czy jest w s1 czy w s2 przed pojawieniem się?

W funkcji Start to jest proste bo wystarczy mu przesłać zmienną ale jak to zrobić w Awake?
#unity3d #csharp
@jacku: Dobre zasady mówią żeby w Awake inicjalizować siebie, a dopiero w Start odwoływać się do innych obiektów.
Jeśli będziesz korzystał w Awake z innych obiektów to niekoniecznie one same się zainicjalizują i będziesz natrafił na race conditions, gdy raz wykona się Awake w jednym skrypcie pierwszy a za innym razem Awake w drugim skrypcie.
via Wykop Mobilny (Android)
  • 1
@jacku: Awake się wywołuje w trakcie Insantiate więc się nie da. Albo zedytujesz prefab z którego tworzysz instancje i już będzie to info w trakcie Awake w serializowanym polu albo zapiszesz to na zewnątrz.
Ja używam osobnej metody Init po instantiate do ustawienia instancji, więc dzieje się to odrazu po Awake ale długo przed Start.
Czy mogę czytać wartości ze Scriptable Object bezpośrednio w Update? Czy lepiej przepisać wartość raz na starcie do tymczasowej zmiennej i z niej korzystać? (chodzi o obroty silnika, nie chciałbym żeby mi co obrót coś robił na dysku tak jak to robi np. Debug.Log)

#csharp #unity3d
@jacku: Myśl o SO jako o typie klasie i tym jakie ma funkcjonalności. Podejrzewam że podobnie jak ja kiedyś ich wizję zaślepia ci fakt że Unity umożliwia ich zapisanie jako asset.

SO nie są w żaden sposób przeznaczone do przechowywania danych czy bycia "plikiem", one są tym samym czym jest MonoBehaviour, po prostu mają bardzo mało funkcji i nie mają rzeczy typu Update, czy OnEnable

PS. To nie jest takie proste
Mirki, jak w #csharp przepisać wartości z jednego structa do drugiego?

[System.Serializable]
public struct boneLinks
{
  public Transform spineLo, legs, head, handL, handR;
};
public boneLinks links1;

w innym skrypcie:

public boneLinks links2;
Aktualnie mogę z niego wyciągać wartości linia po linii a chciałbym links2 = links1
#unity3d
@jacku: Aa dobra wszystko jasne.
Wywal definicję:
public struct boneLinks
{
  public Transform legs, head, handL, handR;
};

Do osobnego pliku i wywal to z skeleton.cs i skeletonCopy.cs.

Zostaw tylko:
skeleton.cs
public boneLinks boneLinks1;

skeletonCopy.cs
public boneLinks boneLinks2;

----------------
Generalnie tak jak ty napisałeś wcześniej to jedna Struct z skeleton.cs, a struct z skeletonCopy.cs, to były 2 osobne typy i kompilator, nie wiedział w jaki sposób może je przekonwertować. Jak wywalisz
Siemano!
Wydaliśmy właśnie naszą kolejną grę Nadir: A Grimdark Deckbuilder i rozdajemy 5 kluczy dla Wypoku!

W skrócie: Nadir to mroczny, roguelike’owy deck builder z haczykiem: koszt zagrania karty to również reakcja przeciwnika, którą możesz przewidzieć.
Gra ma bardzo unikatową mechanikę rozgrywania kart i styl graficzny, mamy craftowanie kart, budowanie budynków i inne fajne rzeczy które powinny przypaść do gustu fanom karcianek. ((σ ͜ʖσ)
jan-grochowski - Siemano!
Wydaliśmy właśnie naszą kolejną grę Nadir: A Grimdark Deck...

źródło: comment_16680740232D4EzOwuTwbKTzTMleqqQ1.jpg

Pobierz
Mam w Unity zwykłe przepisanie pozycji a obiekt i tak porusza się z opóźnieniem:

public class copyPosition : MonoBehaviour
{

public Transform cube;
public Transform ball;

void FixedUpdate()
{
cube.position=ball.position;
}

void OnDrawGizmos()
{
Gizmos.DrawCube(cube.position,1f);
Gizmos.DrawSphere(ball.position,1f);
}
}

Da się to jakoś skorygować żeby w FixedUpdate działało? Bo jak pomieszam Update z FixedUpdate to potem na innych etapach rzeczy będą się glitchować. W sumie to opóźnienie jest też pewnie w Update ale
via Wykop Mobilny (Android)
  • 2
@jacku: targetFramerate to tylko do oszczędzania energii. Te updaty są osobno przeliczane i nie da się tego zsynchronizować.
Jeśli np zwalniasz czas w grze (timescale) to nadal klatek fizycznych masz 50/ sekundę symulacji a rendering masz ok targetFramerate na realna sekundę. Żeby obiekty z fizyką ci nie skakały w zwolnionym tempie to np ustawiasz na rigidbody pozycję interpolowana wtedy obiekty będą przesuwane pomiędzy klatkami fizycznymi w klatkach renderowania.
Chciałbym sobie zgrupowac w Unity funkcje w jednym skrypcie i korzystać z nich w innych skryptach czyli tak:

namespace: myScripts
-public static class: springs
--public static void spring1
--public static void spring2

ale unity mi tego nie widzi. Muszę zrobić taki układ:

namespace: myScripts
-public static class: springs1
--public static void spring1
-public static class: springs2
--public static void spring2

i wtedy dostęp mam przez myScripts.springs2.spring2
jak zrobić zeby mieć czytelniejszy dostęp,
@jacku: Miałem mnóstwo problemów z VSCode+Unity. Ciągłe wyłączanie intellisense, brak podpowiedzi, brak kolorowania kodu, niewykrywanie plików .sln i tym podobne.

Próbowałem wszystkiego co znalazłem w internecie i nic nie działało. Wkurzyłem się i zainstalowałem Visual Studio community z paczkami do C#. VS jest fajne ale IMO zbyt ciężkie do Unity. Otworzyłem więc VS Code i boom, wszystko działało.

Od tamtego czasu na nowych komputerach zawsze instaluję VSCode i Visual Studio i
Jak zamienić Quaternion na Vector3 i odwrotnie? Siedzę pół dnia na tym ( ͡° ʖ̯ ͡°)

Mam w unity 2 obiekty i chciałbym żeby jeden kopiował rotację drugiego ale z lekkim skryptem modyfikujacym. Skrypt chce Vector3 a rotacje są jako Quaterniony. Musiałbym sprowadzić rotację pierwszego do Vector3, zaaplikowac skrypt i zamienić z powrotem na Quaternion.

pseudokod:

Quaternion cube1Rotation;
Quaternion cube2Rotation;

Vector3 cube1Values;
Vector3 cube2Values;

void CalcHarmonicRot (Vector3 newValues)
@jacku:
No własnie musisz skumać że po takiej zamianie stopnie mogą się zmianić o wielokrotność 360 dlatego
1. Staraj się nie operowac na eulerach
2. Jesli juz musisz to tylko w jedną strone operuj, czyl icały czas tryzmaj gdzieś w postaci eulera i sobie przeliczaj i wrzucaj do tranforma, ale nie odczytuj z tranforma nowych eulerów bo moga byc inne
@jacku: NIgdzie nie ma błednych danych:P
Problem wynika z tego że nie wszystkie funckje są odwracalne
euler1->q2->euler1

euler1 != euler2 mimo że reprezentuja tą samą orientacje w przestrzeni

Jeśli masz 2 poruszające się obiekty i chcesz np coś naimowac miedzy nimi to będzie np ze zmienna prekościa to tylko operaje na quaternionach wchodza w grę
Czy jak mam jakiś addon do Unity z asset store'a (typu do obsługi padów, albo kamer itp.) i on waży powiedzmy 500MB, to przy kompilacji te 500MB będzie w grze? Czy w sumie nie wiadomo o ile taki addon zwiększy wagę gry? #unity3d #gamedev
Jak w Unity zmieniam miejsce Gracza z „nóg” do samochodu (czyli „wsiada do auta”) to jak już gracz jest w samochodzie to Input System jakby nie reagował na wciskane klawisze.
Jak to naprawić? Do sterowania pojazdami używam RCC z Asset Store, a graczem przez własny skrypt.

Czy to może być dlatego, że każdy z pól „OnFootMovement” i „InCarMovement” obsługuje przez dwie różne klasy i tworze dwie instancje generowanego przez Input System pliku
@zibizz1: mam to.
Teraz inaczej opisze ten problem:
- W Action Maps mam "Vehicle" oraz "OnFoot"
- W Vehicle mam ustawione by poruszać się pojazdem poprzez WASD i tak samo w "OnFoot" by poruszać postacią.
- Kiedy podejdę postacią do pojazdu (WASD) i do niego "wsiądę" to w pojeździe nie mogę już się poruszać poprzez WASD, mogę tylko poprzez strzałki. A kiedy usunę postać i poustawiam tak aby gra zaczynała się
Miał ktoś kiedyś taki problem z Unity 3D, że nie mógł odpalić żadnego projektu (nawet nowych)?
Otwieranie projektu „wiesza” się na „Resolving Packages…” i nie idzie dalej.
Sprawdzam od wczoraj na necie rozwiązania ale żadne nie pomaga, nawet zainstalowałem kilka wersji Unity Editora i nadal lipa.

Unity działał mi normalnie na Windows 11, ale po jakimś czasie wróciłem na Windows 10 i jest #!$%@?

#unity3d
#unity
#unity5
#programowanie
Właśnie teraz udało mi się poprawnie uruchomić edytor Unity.
Dwa dni walki (òóˇ)

Nie jestem pewny co mogło być przyczyną tego wszystkiego.

Oprócz wyżej wypisanych wykonanych przeze mnie kroków zrobiłem jeszcze to:
Usunąłem manifest.json | bez zmian
Usunąłem wspomniany wcześniej i przez ciebie folder Library | bez zmian

I wydaje mi się, że pomogło dopiero:
- Usunięcie Unity Hub
- Usunięcie Edytorów
- Wyczyszczenie Rejestru z