Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 16, 2025 01:32

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 40 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 01, 2004 21:07 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Das ist ja auch der falsche Befehl. NewtonMaterialSetContactFrictionState sagt dich nur auf welchen Tangentenachsen Reibung aktiviert bzw. deaktiviert werden soll. Du musst die anderen Funktionen nutzen, z.B. NewtonMaterialSetDefault* (StaticFriction, KineticFriction), etc.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 01, 2004 21:10 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Code:
  1. function CCP( const material : PNewtonMaterial; const contact : PNewtonContact ) : int; cdecl;   // Character Contact Process
  2. begin
  3.   NewtonMaterialSetDefaultFriction (NewtonWorld, Snow_ID, Snow_ID, 0.1, 0.9);
  4. Result := 1;
  5. end;


Bringt ja leider auch nichts.

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 01, 2004 21:13 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Muss aber, hab ich in meiner Farhzeugdemo (siehe Eisfläche auch drin), also machst du was falsch. Setz mal nen Breakpoint oder werf ne Exception um zu sehen ob der Callback überhaupt aufgerufen wird. Hast du für den Spieler auch SnowID als Material gesetzt?

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 01, 2004 21:20 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Ne BreakPoint hält net an.
irgendwas stimmt net.

Code:
  1.   Collipart[count] := NewtonCreateSphere(NewtonWorld,0.4,nil);
  2.   SpielerBody[count] := NewtonCreateBody(NewtonWorld,Collipart[count]);
  3.  
  4.   NewtonBodySetMatrix(SpielerBody[count], @SpielerMatrix[0,0]);
  5.   NewtonReleaseCollision(NewtonWorld, Collipart[count]);
  6.  
  7.   NewtonBodySetMaterialGroupID(SpielerBody[count] ,Snow_id);
  8.   NewtonBodySetForceAndTorqueCallback(SpielerBody[count], @AFAT);
  9.   NewtonMaterialSetCollisionCallback(NewtonWorld, SNOW_ID, SNOW_ID, @SpielerData[count], @GCB, @CCP, @GCE);


Das Createn vom Spieler stimmt doch?!

Masse usw. wird später unten gesetzt.
Also nach dem Code von oben.

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 01, 2004 21:35 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Hoffe du erstellst die Materialgruppe bevor du diese ID deinem Spieler zuordnest. Ausserdem musst du auch in den anderen Callbacks (wenn du die nutzts) 1 zurückgeben.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 01, 2004 21:41 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Sascha Willems hat geschrieben:
Hoffe du erstellst die Materialgruppe bevor du diese ID deinem Spieler zuordnest. Ausserdem musst du auch in den anderen Callbacks (wenn du die nutzts) 1 zurückgeben.


Ja, Materialgruppe erstelle ich natürlich zuerst.
In den anderen Callbacks habe ich jetzt auch result = 1 gemacht (Also in dem Begin) aber die wird auch schon net aufgerufen.

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Dez 02, 2004 20:34 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Kannst du mir evtl. nen Ausschnitt aus der Demo geben?
Mit dem Fahrzeug.
Aber nur das nötigste, dass ich das mit meinem nochmal vergleichen kann.
Net das es nachher heißt ich hätte es kopiert ;)

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Dez 02, 2004 20:47 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Jan 04, 2003 21:23
Beiträge: 674
Wohnort: Köln
poste doch lieber dein Projekt ;)

_________________
. . .


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 03, 2004 17:25 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Najoa, dann hier:
Wenn was fehlt sagen!!!
Ca. 660Kb groß.
http://www.active-pro.de/extra/problem_for_dgl.zip

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 03, 2004 17:40 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Hm, also ich werde da die nächsten Tage/Wochen nicht reinschauen können, da du nicht der einzige hier im DGL-Board bist der mir Quellcode zur Begutachtung gibt (habe bereits zwei komplette Projekte per PM erhalten), und ich selbst für die kaum Zeit habe. Von daher ists evtl. besser wenn du selbst danach suchst (vie Debugoutput o.ä.)...

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Dez 03, 2004 17:49 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Joa, verstehe ich!
Du hast ja auch nur 2 Hände :D
Ich werde nochmal die Nacht daran verdrödeln ;)

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Dez 04, 2004 07:24 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Gibts eigentlich nen Grund warum du noch ne alte Version von Newton verwendest? Wenn nicht, dann werde ich deine Anwendung nämlich mit der neusten NGD-Version debuggen.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Dez 04, 2004 18:06 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Nen Speziellen Grund gibt es keinen, nein.

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Dez 04, 2004 21:38 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Schon was gefunden? :-/
Oder noch net geschaut?
Oder doch net so einfach?

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Dez 04, 2004 21:53 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Rant : (nicht persönlich an Adler gerichtet!)
Wenn man keinen regelmäßigen Job hat und als Freelancer durch die Gegend rennt und Rechner knaupt, kanns auch vorkommen dass man am WE arbeiten muss (heute 7 Stunden am Stück Rechner in eine Netzwerk eingepflegt, da ist eigentlich das Letzte was ich will anderer Leute Sources zu korrigieren), von daher wäre es also "nett" (oder selbstverständlich) wenn man mir ein wenig Zeit gibt, zumal ich ja noch zwei komplett andere Projekte durchsehen soll. Auf Dauer mach ich das nicht mehr, und besonders jetzt nicht da ich anfangen will mich selbständig zu machen werde ich mich da langsam zurückziehen. (Gibt ja ein eigenes Newton-Forum, ist also nicht so als wäre ich der einzige Ansprechpartner).

Aber zu deinem Problem :
Du weist dem Level (NewtonBodySetMaterialGroupID) ja nirgendwo die Snow_ID zu, also kann dein Callback nicht feuern. Sobald ich das tue gehts. Wenn du Snow_ID als letzten Paramter von AddFace übergibst musst du in einem speziellen Treecollisioncallback prüfen welches Face kollidiert, was du ja nicht machst. Ausserdem ist NewtonMaterialSetDefaultFriction die falsche Funktion, die bringt dir im Callback nix, in der Hilfe gibt es eine Gruppe von Funktionen namens "Contact behavior control interface", die man nutzen muss um Materialeigenschaften im Callback zu setzen.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 40 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 14 Queries | GZIP : On ]