Κοινή χρήση τεχνολογίας

UEC Unreal 5 παιχνίδι shooter τρίτου προσώπου (2)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

UEC++ Unreal 5 παιχνίδι shooter τρίτου προσώπου (2)

Παράγωγα όπλα χειροβομβίδων

  • Δημιουργήστε ένα νέο που κληρονομήθηκε απόWeaponυποκατηγορία ως παράγωγο όπλο χειροβομβίδας
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • ΘαWeaponστην τάξηFireΠροσθήκη συνάρτησηςvirtualΗ λέξη-κλειδί γίνεται εικονική συνάρτηση έτσι ώστε η κλάση χειροβομβίδα να μπορεί να κληρονομηθεί και να ξαναγραφτεί.
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • υπάρχειProjectileWeaponμέσο επανεγγραφήFireΛειτουργία, δημιουργήστε μια νέα μεταβλητή προτύπου για τη δημιουργία βλημάτων
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • FireΛειτουργία επαναγραφή λογικής
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • κώδικας
	//生成的投射物
	UPROPERTY(EditAnywhere,BlueprintReadOnly,Category = "ProjectileWeapon")
	TSubclassOf<AActor> ProjectileClass;
//--------------------------------------------------------------------------------------------------
void AProjectileWeapon::Fire()
{
   
	AActor* MyOwner = GetOwner();
	if (MyOwner)
	{
   
		FVector EyeLocation;
		FRotator EyeRotation;
		MyOwner->GetActorEyesViewPoint(EyeLocation, EyeRotation);

		FActorSpawnParameters SpawnParams;
		//设置投射物生成参数:即使生成位置有碰撞,也要强行生成投射物,不进行碰撞检测处理
		SpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn;
		//获取枪口位置
		FVector MuzzleLocation = SkeletalComponent->GetSocketLocation(MuzzleSocketName);
		//生成并发射投射物
		GetWorld()->SpawnActor<AActor>(ProjectileClass, MuzzleLocation, EyeRotation, SpawnParams);
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

Όπλα που μοιάζουν με χειροβομβίδες

  • Δημιουργήστε ένα σχεδιάγραμμα της παραγόμενης κλάσης χειροβομβίδων και προσθέστε το μοντέλο πλέγματος σε αυτό
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • Αλλάξτε το όνομα της υποδοχής στο μοντέλο πλέγματος σε εμάςC++όνομα που ορίζεται στο
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • ΔημιουργώActor Το σχέδιο χρησιμοποιείται ως σφαίρα και προστίθεται ένας εκτοξευτής και ένα πλέγμα σφαίρας. Το πλέγμα σφαίρας επιτρέπει την προσομοίωση φυσικής.
    Εισαγάγετε την περιγραφή της εικόνας εδώ
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • Προστέθηκε το σχέδιο του όπλου χειροβομβίδας για τη δημιουργία βλημάτων που εκθέτουν τις σφαίρες αναπαραγωγής στο σχεδιάγραμμα.
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • Στο σχεδιάγραμμα χαρακτήρων, αλλάξτε τον τύπο όπλου του στιγμιότυπου σε όπλο τύπου Howitzer και, στη συνέχεια, αλλάξτε το αντικείμενο του στιγμιότυπου στο όπλο γονικής κλάσης Αυτό θα μας διευκολύνει να δοκιμάσουμε το πρόβλημα κατά την κλήση της συνάρτησης.
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • Προσθέστε ένα συμβάν έκρηξης στο σχεδιάγραμμα κουκκίδων και γράψτε τη λογική
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • υπάρχειBeginPlayΤο λογικό συμβάν καλείται στο
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • αποτέλεσμα λειτουργίας
    Προσθέστε περιγραφή εικόνας

Εφέ ενίσχυσης ζουμ του σκοπευτή

  • Δημιουργήστε τέσσερις νέες μεταβλητές στην κλάση χαρακτήρων, μία χρησιμοποιείται για να ενεργοποιήσει την προώθηση του ζουμ, μία χρησιμοποιείται για να υποδείξει το εύρος του οπτικού πεδίου μεγέθυνσης, μία για την απόκτηση του προεπιλεγμένου εύρους πεδίου προβολής και μία για την αναπαράσταση του ρυθμού γραμμική παρεμβολή σε μια νέα προοπτική.
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • Δημιουργήστε μια νέα είσοδο λειτουργίας με δεξί κλικ
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • Δημιουργήστε μια νέα συνάρτηση επεξεργασίας για λειτουργίες με δεξί κλικ
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • Εκχωρήστε μια νέα γωνία κίνησης και έναν ρυθμό για την παρεμβολή κίνησης
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • υπάρχειBeginPlayΑποκτήστε το προεπιλεγμένο εύρος γωνίας θέασης
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • Κάντε δεξί κλικ στο Bind Function Logic και ορίστε νέα λογική εύρους γραμμικής παρεμβολής προοπτικής
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • Λειτουργίες εισόδου σύνδεσης
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • Δημιουργήστε μια νέα είσοδο λειτουργίας στον κινητήρα και προσθέστε τη στη χαρτογράφηση
    Εισαγάγετε την περιγραφή της εικόνας εδώ
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • Σύνδεση λειτουργιών στο σχεδιάγραμμα χαρακτήρων
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • αποτέλεσμα λειτουργίας
    Προσθέστε περιγραφή εικόνας

Δημιουργία μεταβλητών κονσόλας

  • Δημιουργήστε μια νέα στατική μεταβλητή στην κλάση όπλων ως μεταβλητή κονσόλας ελέγχου για να ελέγξετε αν θα πυροβολήσετε και να σχεδιάσετε γραμμές και δημιουργήστε μια νέα κλάση μεταβλητής κονσόλας αυτόματης διαχείρισης
    Εισαγάγετε την περιγραφή της εικόνας εδώ
  • FAutoConsoleVariableRef: Μια κλάση για την αυτόματη διαχείριση μεταβλητών της κονσόλας
FAutoConsoleVariableRef ACVRDebugWeaponDrawLine(TEXT("COOP.DebugWeapons"), DebugWeaponDrawLine,TEXT