Beiträge von JonnyMachony

    Jungens, wie verarbeitet ihr halbwegs ordentlich die Animationen miteinander?


    Also ich habe z.B eine Idle Animation ohne Waffen. Dann habe ich mir ein Paket gekauft, wo der Char eine Waffe Schultert.

    Es gibt sogar eine Animation, wo der Char die Waffe vom Rücken holt, aber trotzdem passt die erste Idle Animation nicht ganz exakt auf die Anfangskörperhaltung von der Waffen-Equip Animation.

    Gibt es irgendeinen Weg die Knochen über copy und paste oder so jedenfalls exakt von der einen Animation auf die andere Animation zu übertragen, damit der Übergang optimal aussieht???

    Jungs, was mache ich falsch?


    Was muss ich genau alles machen, damit ein Skeletal Mesh fallen kann.


    Das hab ich gemacht, funktioniert aber aus irgendwelchen Gründen nicht, warum, was mache ich falsch?


    WaffeMesh = CreateDefaultSubobject<USkeletalMeshComponent>(TEXT("WaffeMesh"));

    SetRootComponent(WaffeMesh);

    WaffeMesh->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Ignore);

    WaffeMesh->SetCollisionResponseToChannel(ECollisionChannel::ECC_WorldStatic, ECollisionResponse::ECR_Block);

    WaffeMesh->SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics);

    WaffeMesh->SetSimulatePhysics(true);

    WaffeMesh->SetEnableGravity(true);

    Hi Jungens,

    ich versuche gerade eine schöne SprungAnimation hinzukriegen.

    Ich dachte ich verstehe die versch. Einstellmöglichkeiten, aber irgendwie sobald der Character abhebt, spielt er die erste Animation nicht vollständig von Anfang an, sondern fängt erst paar milisekunden später in der Animation an, so dass es nie so aussieht, dass der Character zum Sprung abhebt, sondern immer nur schon im Landeanflug ist.

    Kann vllt einer die paar Einstellmöglichkeiten erklären. Hier paar Screenshots.

    Rasputin jap, hab ich auf 0 gestellt bzw. ist von Anfang an auf 0, looped trotzdem. Warum auch immer.

    Kriegst du es, oder irgend jemand hin, dass nicht immer die selber Animationen abgespielt werden, sondern halt der Zufall eine Auswahl an Animationen hat, die er abspielen kann?

    Phoenix super Antwort danke, das mit dem Thread kommt mir sehr komplex vor.

    Wegen dem Random Sequenzer, den kenn ich, das Problem ist, dass der Sequencer die Animationen loopen lässt, was ich dort nicht abstellen kann, deshalb habe ich einen Umweg gesucht um den Random Sequenzer nicht zu nutzen.

    unegfähr verstanden, mein Beispiel gilt nur für den SpielerCharacter, es soll mal die eine, mal die andere Animation spielen, der Zufall soll entscheiden. Was hat das mit irgendwelchen Threads zu tun? ich habe ja nur eine Figur. Naja.

    Danke für eure Erklärungen,

    was ist ein Thread?

    Und nein, mein Beispiel funktioniert nicht, es wird keine Zufallszahl generiert, die dann eine zufällige Animation abspielt, schade, warum eigentlich nicht?

    wie würde es stattdessen gehen?

    eigentlich einfacher Gedanke, den ich umsetzen will, aber stellt sich schwierg dar.

    sorry wenn ich nerve, aber ihr beantwortet die Fragen echt gut und hilfreich, vllt hilfts ja der Community auch.

    Jedenfalls entdecke ich das Makro? oder was es auch immer ist, das hier:


    checkf(Ammo + Amount <= MagazineCapacity, TEXT("Versucht nachzuladen mit mehr als Magazin Kapazitaet"));


    dieses checkf sehe ich auch nun zum ersten mal. ich kenne wohl "check()" dass auf validität prüft meine ich, aber was ist checkf() ???


    Vielen Dank Leutz.

    hallo Community,

    ich sehe oft zum Beispiel vom Sinn her diese beiden if-Abfragen:


    //"EquippedWeapon" ist hier ein Pointer, wenn also der Char eine Waffe in der Hand hat, dann kann gefeuert werden.


    if (EquippedWeapon)

    {

    FireWeapon();

    }


    //oder ich sehe auch das hier:


    if (EquippedWeapon == nullptr) return;


    FireWeapon();


    //beim zweiten if wird also gefragt, Wenn der Pointer ein Nullpointer ist, also leer ist, dann gib leere Funktion zurück, also lies nicht weiter.

    //Meine Frage nun, gibt es irgendeinen Grund warum es diese beiden unterschiedlichen Abfragen gibt? Eigentlich wollen doch beide auf das Gleiche hinaus. Warum vom Gedanken her einmal so und einmal so? Gibt es dort überhaupt einen Unterschied?

    danke @freezernick, gibt es irgendeinen Unterschied zu diesen drei Methoden zu initialisieren?

    ich habe bei meinem Beispiel was vergessen, hier nochmal das genaue neue Initialisieren mit einem Integer diesmal. Meine Frage ist, ob es egal ist welche Methode ich verwende?


    in.h


    int32 ItemAnzahl;


    in.cpp


    AItem::AItem() : //das ist der Constructor-Name

    ItemAnzahl(0)

    {

    }


    merkwürdig finde ich, dass dies vor den Klammern des Constructor-Körpers passiert und ohne Semikolon, aber es klappt. Was soll das, warum sollte jemand so initialisieren? Hat das eine Bedeutung?

    Hi liebe UE4 Kompagnons,


    ich lerne mit Udemy Kursen und sehe das hier:

    ```bAiming(false);``` im Constructor der CharacterKlasse, diese bool-Variable soll dort initialisiert werden. In anderen Worten, die Variable soll hier ihren Anfangswert bekommen, hier "false".

    Bisher kannte ich nur diese Schreibweise ```bAiming = false;```

    Gibt es einen Unterschied bei den Schreibweisen? Tun die Schreibweisen nicht das Gleiche? Was macht die erste Schreibweise evtl anders?

    hi Leute, bin neu mit Visual Studio, lerne an Udemy Kursen.

    Was mir immer und immer wieder passiert und ich nicht verstehe, es auch schon richtig nervt, ist:

    ich tippe die gesuchte Funktion, der Assist schlägt mir eine Reihe von möglichen Funktionen vor, ich wähle mit den Pfeiltasten die gewünschte Funktion aus und drücke Enter.

    In den meisten Fällen schreibt der Assist diese Funktion nun auch auf, aber auch oft, tut er es auch einfach nicht, obwohl ich es genau so tue, wie beschrieben, manchmal schreibt der Assist das gewählte nieder, manchmal aber auch nicht.


    Ich verstehe es einfach nicht, warum es manchmal klappt, manchmal nicht. Ich muss das ganze dann einfach wiederholen, dann geht es wieder.

    Kennt das einer? Der Assist zeigt mir in allen Fällen die möglichen Funktionen, aber nicht immer schreibt er das gewählte auch nieder, warum?

    Oft redet man im englischen aneinander vorbei.

    Folgende Verständnisfrage:


    Bisher dachte ich immer, ich setze Variablen, die einen Wert inne haben in eine Funktion als Eingangsparameter ein (also in die Klammer einer Funktion).

    Die Funktion arbeitet mit den Parametern und gibt am Ausgang (links von der Funktion) das Ergebnis heraus, das ich weiterverwenden kann für andere Sachen.


    Nun sehe ich diesen Code:```

    FVector2D ViewportSize;

    if (GEngine && GEngine->GameViewport)

    {

    GEngine->GameViewport->GetViewportSize(ViewportSize);

    }```

    Jetzt bin ich verwirrt, "ViewportSize" wird erstellt, hat aber noch keinen Wert, was bringt es dann, dies in die Funktion einzusetzen? Was soll dann dabei rauskommen, es ist ja leer. Dazu kommt noch, die Funktion wird lediglich aufgerufen, aber am "Ausgang" wird garkein Wert zurückgegeben bzw garnicht entgegengenommen.


    Es scheint so, als würde "ViewportSize" auch durch einsetzen in den Eingang einer Funktion einen Wert zugewiesen bekommen, stimmt das?

    Bisher kannte ich Werte zuweisen nur durch das "=" Zeichen.


    Bitte kann mir da einer Licht in mein Dunkel bringen^^?