Mam zagwozdkę programistyczną: trzeba podstawić dźwięk silnika w samochodzie. Mamy dane obroty i częstotliwość dźwięku:

int rpm=10; //10=idle 100=max
float freqPercent;

jak podstawię w ten sposób to działa:

freqPercent = rpm;
ale chciałbym to zrobić na 3 dźwiękach: idle.wav (10%), accelerate.wav (10-100%), max.wav (100%)

I pytanie: czy to w ogóle da się zrealizować z punktu widzenia matematyki czy zawsze wyjdą błędy?

przy dwóch dźwiękach (idle i max) sprawa jest prosta bo uzależniamy
źródło: rat_racer_03
Hej. Może mi ktoś doradzi bo już wypadłem z obiegu jeżeli chodzi o sprzęt.
Składam sobie kompa na razie mam zakupione cpu Ryzen 5 1600 AF i teraz szukam pod to płyty z możliwością upgradu w przyszłości na coś co będzie miało 8/12 rdzeni (ta sam generacja). Jakie mobo i ramy dobrać do tego zestawu aby w przyszłości nie było problemu z wąskim gardłem. Nie szukam sprzętu do grania tylko do stabilnej
na razie mam zakupione cpu Ryzen 5 1600 AF

chcę w to wsadzić używkę RX 580 ze względu na to, że ta karta ma dużo ramu


@Fat_Mo: Ajajaj...

Jeśli składasz z używek, to może być znacznie bardziej opłacalne dorwać części w zestawie. Np. MOBO+CPU+RAM, albo to wszystko w starej obudowie jeszcze ale bez GPU.
Jeśli przeglądasz oferty, to chociaż już tego Rysia masz, wciąż sprawdzaj ceny w kompletach kilku części na
@czworokot: Jak najbardziej. Zerkałeś do zakładki Learn w Unity Hub'ie? Zakładam że Unity już masz, wystarczy się tylko rozejrzeć. Kiedyś bodajże przy samej instalacji jakiejś wersji Unity, była możliwość pobrania przykładowych projektów, ale mogło się to zmienić. Niemniej jednak, Unity udostępnia co jakiś czas takie projekty i prezentuje je na swoim kanale YT. Miłego kodowanka.
Witam, polecacie tę książkę do nauki tworzenia gier 3D?
Mam pewien pomysł na małą grę typu survival horror i chciałbym go zrealizować, ale muszę uzupełnić braki.
Za sobą mam już kilka projektów gier 2D stworzonych w Unity. Z góry dziękuję za pomoc :).

https://tantis.pl/tworzenie-gier-dla-poczatkujacych-3d-p2893221?utm_source=google&utm_medium=css&utm_campaign=TantisCSS3&utm_source=google&utm_medium=css&utm_campaign=TantisCSS3&cd=11173934823&ad=107837929165&kd=&gclid=CjwKCAiA85efBhBbEiwAD7oLQMX7gSCy_TynGeLa9P00m27Cf7cCKCpsJCDFw1V7eB4tPT_2le2lOxoCUs0QAvD_BwE

#unity3d
#grykomputerowe
#grypc
#programowanie
Cześć Mirki i Mirabelki! ( ͡º ͜ʖ͡º)

Pamiętacie Laughing Fox Games? Wciąż walczymy o to, żeby móc na pełen etat zajmować się własnymi grami, ale póki co zadowoleni mogą być głównie producenci energetyków, które piję regularnie, żeby kodzić do 2 w nocy. (°°

W ramach akcji #rozdajo oferowaliśmy już kiedyś klucze do Dreamland Prison (które niestety nie zebrało wystarczająco kasy na
źródło: wykop_tower_of_chaos_rozdajo_2
Poratuje ktoś dobrym tutorialem na temat IK w Unity 3D?

Nie mogę znaleźć czegoś, co by również pokazało jak połączyć to z interakcją gracza (w sensie, że gracz może sterować postacią, która zamiast animacji używa IK - chyba, że takie postacie grywalne trzeba połączyć z animacjami i z IK?)

I jeśli używamy IK to musimy napędzać postać poprzez RigidBody? Czy może to też być zwykły CharacterController?

Interesuje mnie IK bo wkurza mnie
@mamniciwszystko: No w skrócie sterujesz pozycja dłoni i jej rotacją w przestrzeni a pozostałe kosci się układaja zgodnie ze swoboda ruchów. I tak musisz gdzieś zawiesić broń w powietrzu, wiec najcześciej stosuje się to do róznych broni które sie trzymanych oburącz. W jedną dłoń wkładasz broń a druga rękę przyklejasz do punktu na broni przy pomocy IK. Można też robić interackje przy przedmiotach np otwieranie lodówki/szafki. Interpolujesz pozycje ręki do pozycji
@mamniciwszystko: IK nie ma nic wpsólnego z fizyką tylko z kinematyką. Na postać nie działają siły, grawitacja itp.
Postać może się poruszać kodem(CharacterController), przesuwasz obiekt
albo animacją(przesuniecie wynika z tego jak obiekt przesuwa sie w animacji - root motion)
Jesli masz rigidbody(juz nie pamieta mczy CharacterController ma w sobie wbudowane) to zaznaczasz w formie kinematik i służy jedynei do tego żeby to nie był static collider i żeby kolizje wykrywac poprawnie
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 71.9% (23)
  • Unreal 28.1% (9)

Oddanych głosów: 32

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
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. ((σ ͜ʖσ)
źródło: comment_16680740232D4EzOwuTwbKTzTMleqqQ1.jpg
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