Mesh im Blueprint aufrufen, C++ Charakter

  • Hallo!
    Ich wollte jetzt mein Blueprint etwas ändern und so machen das ich in First Person ein anderes Mesh sehe als in Third Person.
    Problem ist das mein Charakter in C++ geschrieben ist, und ich das Mesh nicht aufrufen kann.
    So sieht das im Character.h (Engine)

    Code
    UPROPERTY(Category=Character, VisibleAnywhere, BlueprintReadOnly)
        TSubobjectPtr<class USkeletalMeshComponent> Mesh;


    Ich habe jetzt versucht das in meinem UltimateTutorialsCharacter.h zu überschreiben:

    Code
    UPROPERTY(Category = Character, VisibleAnywhere, BlueprintReadWrite)
        TSubobjectPtr<class USkeletalMeshComponent> Mesh;


    Allerdings sagt er mir dann TSubobjectPtr: Subobject properties can't be editable (use VisibleAnywhere or BlueprintReadOnly instead)
    Ich kann das Mesh also nicht editierbar machen in Blueprint. Hat jemand von euch eine Idee?


    Screenshots:
    http://puu.sh/9EqcB/ce92a4d176.png
    http://puu.sh/9Eqes/0394fea1de.jpg
    http://puu.sh/9Eqpi/cae787ae75.png


    Vielen Dank im Voraus,
    CAPTNCAPS


  • Ja genau das möchte ich ja machen.
    Dazu muss ich aber folgendes tun: "if(inFPS)->Hide(TPSMesh) -> Unhide(FPSMesh)"


    Das geht aber nicht, da ich auf das Mesh nicht zugreifen kann "BlueprintReadOnly"
    Das ReadOnly kann ich nicht ändern, da ich einen Fehler bekomme.


    Ich wollte also Wissen ob hier jemand ne Idee hat, wie ich trotzdem da ran komme :)

  • Und genau das ist das Problem.
    Das Mesh taucht dort nicht auf, weil es in C++ als "in BP nicht editierbar" gesetzt ist.
    Und ich kann das halt nicht ändern (auf die weise die ich probiert habe)
    Aber irgendwie muss das gehen :/

  • (Weißt ja "noch" noob... ;)


    Vielleicht in C++ ne Funktion die das dann macht und die Funktion via Blueprint callable deklarieren.


    UFUNCTION(BlueprintCallable, Category=Mesh)


    //Edit: Im Shootergame ist in der ShooterCharacter.h

    Code
    /*
          * Get either first or third person mesh. 
         *
          * @param    WantFirstPerson        If true returns the first peron mesh, else returns the third
         */
        USkeletalMeshComponent* GetSpecifcPawnMesh( bool WantFirstPerson ) const;
  • Erst mal danke für die Hilfe :)
    Hab es jetzt doch ohne ändern des C++ codes hinbekommen...
    Das Mesh wird zwar nicht angezeigt, aber im Rechtsklick Menü ist es drin.
    Problem: Das Rechtsklick Menü ist wegen "Context Sensitive" Extrem Verbuggt.
    Manchmal zeigt es sachen an, manchmal nicht. (Egal ob "Context sensitive an ist oder nicht)
    Naja, habs jetzt gefunden und alles klappt :)
    Jetzt "nur noch" die Waffe und ihre Pickup's implementieren xD