Du bist nicht angemeldet.

Werbeanzeige

Martin Mundorf

Treue Seele

  • »Martin Mundorf« ist der Autor dieses Themas

Beiträge: 161

Wohnort: Waldorf, Kr. Ahrweiler

Beruf: Althistoriker

  • Private Nachricht senden

1

12.08.2017, 22:09

ein 3rd Person Shooter

Hallo zusammen...
ich habe endlich ein Spiel-Idee (nein, nicht S&R, das ist ein anderes Thema). In meinen vorherigen "Projekten" hab ich einiges nützliches gelernt.
Und durch aufmerksame Betrachtung diverser Youtube-Tutorials (die ja nie ganz kompolett bis zum ende gehen...) hab ich nun sogar eine halbwegs vernünftige KI - endlich ist das, was ich da gestalte nicht so "geisterhaft".

Zum Spiel: die Idee ist, mit einem "Team" auf einer Insel eine Geisel zu befreien. Ich werde unmöglich alles alleien daran machen können, d.h. zum gegebenen Zeitpunkt werde ich auch Mitstreiter suchen. (einen versierten Unity-C#- Berater/Helfer könnte ich gebrauchen. Als Entlohnung für die Hilfe bei diesem Hobbyprojekt kann ich leider nur selbtgemachtes Marzipan und ein Glas eingelegter Walnüsse zu Weihnachten anbieten)

(irgendwie wollte ich noch mehr schreiben, aber ich hab grad den Faden verloren. Jedenfalls die 3D-Charaktere sind selbst modelliert, und nicht irgendwo aus dem Netz gezogen)

Mehr zu diesem Projekt dann in Kürze.
»Martin Mundorf« hat folgende Bilder angehängt:
  • -PZ52Ava.jpg
  • insel.jpg
  • urrr2.jpg
"Eine Signatur ist das Buchstaben-Zahlen-Zettelchen unten an ein einem Buch in der Bibliothek!"



was ich zur Zeit ausprobiere: 3rd person Shooter
"Lehrjahre": Im Lande der Hasen
mein ewiges Spielprojekt "Straights & Rows" . Ich suche dafür noch Testspieler !
meine Grafiken "ohne Verwendungszweck"

David Scherfgen

Administrator

Beiträge: 9 936

Wohnort: Bonn

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

13.08.2017, 10:43

Beeindruckende Modellierarbeit! Ist der Typ in der Lederjacke dir selbst nachempfunden? ;)

Martin Mundorf

Treue Seele

  • »Martin Mundorf« ist der Autor dieses Themas

Beiträge: 161

Wohnort: Waldorf, Kr. Ahrweiler

Beruf: Althistoriker

  • Private Nachricht senden

3

13.08.2017, 10:53

Also ehrlichweise: Die Charaktere sind mit Hilfe von Adobe Fuse / mixamo entstanden...
...und: ja :D


...ich wollte grad ein Problem posten, an dem ich nun seit Tagen herumknappse:
Die KI zwischen 3 Waypoints hin un her patroulliern uz lassen ist ja simpel. Aber ich möchte mein team zur Laufzeit an einen gewissen Ort schicken. (wie zB in Vietcong 2)
Mit "zielen" und Tastendruck.X bekomme ich eine hit.point (Raycast) transform.position.

Krautcode:
if (walk to position)
then go there
if reached this position (more or less 1 rangeunits)
then bleib da stehen && go to idle

bevor ich jetzt meinen Quelltext poste... da gibbet doch bestimmt ne einfache Lösung für oder? ich seh wohl den Wald vor lauter Bäumen nicht...

@David: hast du mich schon mal gesehen, oder wie kommst du drauf?
"Eine Signatur ist das Buchstaben-Zahlen-Zettelchen unten an ein einem Buch in der Bibliothek!"



was ich zur Zeit ausprobiere: 3rd person Shooter
"Lehrjahre": Im Lande der Hasen
mein ewiges Spielprojekt "Straights & Rows" . Ich suche dafür noch Testspieler !
meine Grafiken "ohne Verwendungszweck"

Martin Mundorf

Treue Seele

  • »Martin Mundorf« ist der Autor dieses Themas

Beiträge: 161

Wohnort: Waldorf, Kr. Ahrweiler

Beruf: Althistoriker

  • Private Nachricht senden

4

14.08.2017, 19:14

Also, ein kleines Fehler-Update:

Das mit deim "in eine Richtung schicken" habe ich provisorisch gelöst:
aus dem User-Input-Script kommt das:

C#-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if (aiming & Input.GetKeyUp (KeyCode.X)) 
        {
            
            Ray aimRay = new Ray (TPSCamera.transform.position, TPSCamera.transform.forward);
            RaycastHit hit;


            if (Physics.Raycast (TPSCamera.transform.position, TPSCamera.transform.forward, out hit, 50, other.aimDetectionLayers.value))
            {
                foreach (GameObject g in GC.GetComponent <GameController>().teamSP.Friends) 
                {
                    if (!g.CompareTag ("Player")) 
                    {

                        g.transform.LookAt (hit.point);
                        g.transform.GetComponent <AI> ().income = hit.point  ;
                        g.transform.GetComponent <AI> ().states.aiState =  AI.States.AIState.WalkTo;
                    }
                }
            }
        }

    }



und das AI Script macht daraus das:

C#-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public void walkTo()
    {
        
        if (!setDestination) 
        {
            navmesh.SetDestination (income);
            setDestination = true;
        }
        if ((navmesh.remainingDistance <= navmesh.stoppingDistance) || reachedDestinantion && navmesh .pathPending ){
            setDestination = false;

            walkingToDest = false;
        //  forward = LerpSpeed (forward, 0, 15);
            forward = 0;
    //      currentWaitTime -= Time.deltaTime;
            states.aiState =  AI.States.AIState.Guard ;
            income = new Vector3 (0,0,0);

        } 
        else 
        {
            LookAtPosition (navmesh.steeringTarget);
            walkingToDest = true;
        //  forward = LerpSpeed (forward, 0.5f, 15);
            forward = 1.0f;
            //currentWaitTime = patrolSettings.waypoints [waypointIndex].waitTime;
            currentWaitTime = Random.Range (3, 4); 
            currentLookTransform = null;
        }
    }


leider hängt dann die KI im "Guard"-Status fest, und nimmt ggf vorhandene Gegner nicht ins Visier... :hmm:


außerdem hab ich zZ. 2 Animationsprobleme: wenn eine Waffe eine Animation abspielen soll, stimmt entweder die equped oder unequiped-Position/Rotation nicht mehr (dieses Problam hat aber vllt was mit Code zu tun, und das verschiebe ich lieber auf einen späteren Post)
des weiteren: Im stehen-idle-Motion schweben meine Charaktere 10 cm in der Luft - nur beim Gehen haben sie Bodenberührung.
Der Spieler Charakter steht aber auf dem Boden - da alle den gleichen Animater benutzen, kann ich nicht eben mal an der y-Offset Achse der Pose fummeln...

Eine Waffe zu droppen: funktioniert. Sie wieder aufzuheben: Fehlanzeige.
Jeder Charakter hat ein "WeaponHandler"-Script, in dem jede Waffe (mit ihremWeaponScript)aufgelistet ist.

Es ist leider alles etwas "verzahnt" - aber ich habe zum einen ein gutes Tutorial nachgebaut, und eben versucht, in dieser verzahnten Weise fortzuführen...
"Eine Signatur ist das Buchstaben-Zahlen-Zettelchen unten an ein einem Buch in der Bibliothek!"



was ich zur Zeit ausprobiere: 3rd person Shooter
"Lehrjahre": Im Lande der Hasen
mein ewiges Spielprojekt "Straights & Rows" . Ich suche dafür noch Testspieler !
meine Grafiken "ohne Verwendungszweck"

Martin Mundorf

Treue Seele

  • »Martin Mundorf« ist der Autor dieses Themas

Beiträge: 161

Wohnort: Waldorf, Kr. Ahrweiler

Beruf: Althistoriker

  • Private Nachricht senden

5

16.08.2017, 20:23

Ich seh die Lösung nicht... dabei glaub ich, ich habs dicht vor der nase... aber ich find nicht, wo mir die AnimatorController die Sache zerhacken ... -.-
»Martin Mundorf« hat folgende Bilder angehängt:
  • prob1.jpg
  • prob2.jpg
"Eine Signatur ist das Buchstaben-Zahlen-Zettelchen unten an ein einem Buch in der Bibliothek!"



was ich zur Zeit ausprobiere: 3rd person Shooter
"Lehrjahre": Im Lande der Hasen
mein ewiges Spielprojekt "Straights & Rows" . Ich suche dafür noch Testspieler !
meine Grafiken "ohne Verwendungszweck"

Martin Mundorf

Treue Seele

  • »Martin Mundorf« ist der Autor dieses Themas

Beiträge: 161

Wohnort: Waldorf, Kr. Ahrweiler

Beruf: Althistoriker

  • Private Nachricht senden

6

20.08.2017, 22:39

kleiner Erfolg - Fortschritt

Hallo ...ein kleines Erfolgsupdate möchte ich vermelden:

Es gelingt nun meinem Spielecharakter, Waffen aufzusammeln und sie auch wieder wegzuwerfen.
Hört sich erstmal einfach an, war aber wegen der notwendigen angehängten Scripte wars kniffeliger zu lösen als gedacht.

Und einen multi-Spawn-Punkt gibts auch, dh. es könne die unterschiedlichsten Objekte gespawnt werden.
(inklusive mediPack - aber über ein solches zu laufen, und Gesundheit aufzuladen ist wirklich eine Kleinigkeit.)
-und weil das Kleinigkeiten sind, gibts dafür keinen extra Screenshot ;)

Leider haben die gespawnten Waffen kein Fadenkreuz mehr - da muß ich mir etwas neues einfallen lassen, das original-Script aus dem Tutorial war da zu unfelxibel.

Als nächstes möchte ich versuchen, unterschiedliche "Artefakte" einzusammeln - schließlich soll auf der Insel ja nicht nur geballert werden! :)

Ich suche weiterhin einen Unity/C# erfahrenen Freund/Helfer/Unterstützer - also wer mag, melde sich :)
"Eine Signatur ist das Buchstaben-Zahlen-Zettelchen unten an ein einem Buch in der Bibliothek!"



was ich zur Zeit ausprobiere: 3rd person Shooter
"Lehrjahre": Im Lande der Hasen
mein ewiges Spielprojekt "Straights & Rows" . Ich suche dafür noch Testspieler !
meine Grafiken "ohne Verwendungszweck"

Werbeanzeige