Construction Set Allgemeine CS-Fragen

- Was ist Performance-Freundlicher; ein großes, oder viele kleine Objekte? (z.B. eine Stadtmauer -> aufteilen, oder nicht?)


Zuerst müsstest mal genau sagen was du unter groß beziehungsweise klein verstehst. Im Zusammenhang der Scale zum Spieler oder die meinst du die Anzahl der Polys?
Meines Wissens nach kommt es dabei auf die Anzahl der Polys an. Du solltest also wenn du 5 Objekte, mit jeweils 100 Polys, hast, weniger Probleme haben im Gegensatz zu 5 Objekten, mit jeweils 1000 Polys. Je nachdem ob dann auch noch für eine Vielzahl von Objekten die Havok berechnet werden muss kann es natürlich zu Einbrüchen der Performance kommen.

Edit: Noch eine Korrektur, ganz wichtig sind auch die Texturen die auf dem Objekt sind. Die beeinflussen das ganze auch immens.

- Spricht abgesehen von der Performance etwas gegen das Einsparen von Ladentüren (Zellenwechseln)?

Wenn man von der KI mal absieht, die sich vielleicht z.B. sinnlos bekämpft, weil mal etwas schief gegangen ist und alle NPCs beziehungsweise Kreaturen in einer Zelle sind, würde mir jedenfalls so direkt nichts einfallen.

Ist davon auszugehen, dass es sich bei Skyrim ähnlich verhält?

Rein vom logischen her, wieso auch nicht? Spiel ist im Grunde Spiel und du wirst sicherlich so gut wie immer Probleme mit der Performance haben, wenn du deine Zellen mit 50.000 Objekten füllst.


MfG Master of Worlds
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Schmelz
Zuerst müsstest mal genau sagen was du unter groß beziehungsweise klein verstehst. Im Zusammenhang der Scale zum Spieler oder die meinst du die Anzahl der Polys?
Meines Wissens nach kommt es dabei auf die Anzahl der Polys an. Du solltest also wenn du 5 Objekte, mit jeweils 100 Polys, hast, weniger Probleme haben im Gegensatz zu 5 Objekten, mit jeweils 1000 Polys. Je nachdem ob dann auch noch für eine Vielzahl von Objekten die Havok berechnet werden muss kann es natürlich zu Einbrüchen der Performance kommen.
Ja, meine Frage zielte in die Richtung 1x500, oder 5x100
Wenn man von der KI mal absieht, die sich vielleicht z.B. sinnlos bekämpft, weil mal etwas schief gegangen ist und alle NPCs beziehungsweise Kreaturen in einer Zelle sind, würde mir jedenfalls so direkt nichts einfallen.
Sorry, aber ich glaube, dass habe ich nicht verstanden...
Meinst du, dass sich ein AI-Fehler nicht ohne Zellenwechsel behebt, oder dass er durch zu viele Akteure Fehler produziert?

Eines meiner Augenmerke hierbei war, dass gerade die AI mit Zellenwechseln Probleme hat. (z.B. hin und wieder Gegner, die Türen nicht benutzen wollen.)
 
Meinst du, dass sich ein AI-Fehler nicht ohne Zellenwechsel behebt, oder dass er durch zu viele Akteure Fehler produziert?

Ist durchaus Zwecksache. Je nachdem welche Idee verfolgt wird, durchwandert auch die Praktikabilität einen gewissen Wechsel.
Wenn man eine große Zelle mit vielen NPCs hat, durch die man sich nach und nach durchkämpfen soll, so würde ich sagen wäre es besser kleinere Zellen zu machen und nicht allzu gigantische. Vor allem wenn es vielleicht Vanilla Gegner sind und diese sich Gegenseitig nicht unbedingt freundlich gesinnt sind. Wenn einem die Gegner hingegen noch lange Strecken folgen sollen, dann muss man eventuell eine etwas größere Zelle anlegen. Wenn es sich dabei um besondere Momente handelt, kann man diese jedoch auch wieder mit Skripten entsprechend handhaben, man überspringt einfach die Misere die man der KI und einer Tür haben könnte mit moveto usw..

MfG Master of Worlds
 
  • Like
Reaktionen: Schmelz
habe da noch ne weitere frage,

habe meiner queststage eine condition beigefügt wobei sich die queststage ändern soll sobald ich einen gegenstand im inventar habe. das passiert aber nicht:
"getitemcount item-id == 1"
ist das falsch oder muss ich noch was anderes machen?
 
danke. dann bleibt nur noch die frage, was darüber stehen muss.
begin ?
kenne mich mit dem scripten einfach nicht aus und kenne die befehle nicht. vllt könnte mir jemand ein paar der wichtigsten ja einmal hier aufschreiben?
 
Ich versuche in letzter Zeit eine Animation (wie das Tränkebrauen) ins Spiel einzufügen, sie soll sich nur auf den Player auswirken und das auch nur, wenn er einer bestimmten Rasse angehört und sie soll automatisch ausgeführt werden (beim stillstand), kann mir jemand schrittweise erklären, was gemacht werden muss?
 
hi Leute,
ich habe das Problem, dass ingame viele, viele Objekte einer Cell fehlen, die ich dort platziert habe.

Im CS sieht es so aus:


Ingame so:


Ich habe auch bereits die Funktion "Resave With New IDs" probiert, aber das funktioniert auch nicht!

(EDIT)
Die Objekte sind NICHT auf Initially Disabled!
 
Zuletzt bearbeitet:
Ich hab auch ein Problem.
Ich will das ein Npc wenn er nach einer Queststage eine bestimmte Strecke abgeht (soweit so gut, dass hab ich geschafft ). Allerdings soll er alle Türen hinter sich zu machen bzw. verschließen.
Hat sich erledigt
 
Zuletzt bearbeitet:
Wie kann ich ein Item im Inventar des Spielers komplett unsichtbar machen?
Wie heißen die Ref für Upperbody-, Lowerbody-, Foot- und Hand- Slot?
 
Zuletzt bearbeitet:
Hätte mal einige Fragen:

1.)
Wie kann ich ein Item XYZ so einbinden, dass bspw. einem NPC sagen kann, dass er, wenn ich bei einem Use-Item-At-Package mit dem Target XYZ, eine bestimmte Idle-Anim auf einem XMarkerHeading macht.

Und bitte: Ich weiß auch, dass man es über GetIsCurrentPackage beim IdleAnim-Menü geht, aber das muss doch auch einfacher gehen. BethSoft hat doch auch nicht für jede Anim eine separate Condition pro Package gemacht.

2.)
Gibt es eine Möglichkeit das "Interiorleuchten" von Wasser zu entfernen?
Das regt mich im Moment etwas arg auf.
 
Das ist aber dann wieder so, dass man über das IdleMenü jedes spezifische Package mit diesem "GetIsCurrentPackage" abfragen muss. Ich wollte eigentlich wissen, ob man eine neue UseItemAt-Funktion einfügen kann, sodass der NPC nur bei Target das Item XYZ "usen" muss und dann macht er's von selbst.
 
Du meinst, dass der NPC per Skript die Animation aufgezwungen bekommt? Wenn ja, dann könnte das etwas für dich sein: http://cs.elderscrolls.com/index.php/Forcing_Idle_Animations
Was deinen Fall betrifft, müsstest du etwas anders vorgehen:
- Du erstellst unter MiscItems ein neues Item und nennst es z. B. AnimationToken.
- Du erstellst die Animation und legst die Bedingungen für die Animation fest (siehe letzten Screenshot im verlinkten Tutorial)
- dann platzierst du direkt vor dem Ziel eine Triggerbox und legst darauf folgendes Skript:

Code:
scn TriggerScript

begin OnTrigger RefIDdesNPCs
RefIDdesNPCs.additem AnimationToken 1
RefIDdesNPCs.pickidle
end

Sobald der NPC die Triggerbox durchschreitet, wird ihm der Token in das Inventar gelegt. Somit wäre die in der Animation festgelegte Bedingung erfüllt. Der Befehl pickidle fragt die festgelegten Bedingungen ab und sorgt dafür, dass der NPC die Animation ausführt, solange die Bedingungen erfüllt sind. Das heißt auch, dass irgendeines deiner Skripts dem NPC den Token wieder wegnehmen muss, wenn er die Animation nicht mehr ausführen soll, sprich:
Code:
RefIDdesNPCs.removeitem AnimationToken 1


Beachte, dass dies aus meinen theoretischen Überlegungen entstanden und nicht getestet ist. Sag bitte bescheid, ob es funktioniert oder nicht. ;)
 
Zuletzt bearbeitet:
Hey, ich habe 2 Mods, welche die Tränke und Getränke in Ob umarbeiten, der eine ist eine Balaqnce Mod, der andere ein Replacer, kann man die irgendwie zusammenfügen, sodass beide Mods wirken?
 
Einfach mit dem Bashed Patch oder per Hand mit TES4Edit. Da du aber anscheinend modden willst würde ich TES4Edit empfehlen: Beide Plugins reinladen, den Baum eines der beiden PIs öffnen, auf Potions gehenm+, die einzelnen rot oder gelb hinterlegten Einträge anwählen und per Drop'nDrag die Änderungen des einen in das andere PI ziehen. Nun noch mit TES4Gecko die beiden PIs in eins mergen (Rheinfolge nun egal) und voilà, beide Änderungen in einem PI. LG
 
Mit Bashed Patch kann ichs eher.
Kann man mim BP einfach updaten und dann unter dem baum tränke beide esp´s hineinladen?
Muss ich nach dem mergen per BP die beiden PI´s noch aktivieren, oder können die ausgehakt bleiben?
 
Zuletzt bearbeitet: