3d Object wird im Spiel falsch angezeigt(gelöst)

Übersicht BlitzBasic Blitz3D

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Pro Soft

Betreff: 3d Object wird im Spiel falsch angezeigt(gelöst)

BeitragSo, Jul 18, 2010 16:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe in Cinema4D einen Schmetterling erstellt

user posted image

Wenn ich den jetzt aber in Blitz3d einfüge sieht das so aus:

user posted image

Worann kann das liegen? Der Schmetterling ist im B3D Format und wurde mit dem B3D exporter aus Cinema 4d exportiert
Danke schonmal im Voraus
MfG
  • Zuletzt bearbeitet von Pro Soft am Mo, Jul 19, 2010 21:18, insgesamt einmal bearbeitet

MisterMaboo

BeitragSo, Jul 18, 2010 17:10
Antworten mit Zitat
Benutzer-Profile anzeigen
können an falsch gedrehten normals liegen, lässt sich aus dem bild nicht so gut erkennen. probier das vielleicht mal aus.
Man is the information he carries
 

Pro Soft

BeitragSo, Jul 18, 2010 17:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Erstmal Danke für die schnelle Antwort, nur lieder weiß ich nicht was normals sind.

Goodjee

BeitragSo, Jul 18, 2010 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
das teil sieht doch genau gleich aus oO
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Megamag

BeitragSo, Jul 18, 2010 17:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich sehe den Fehler nicht. Der Schmetterling sieht doch normal aus?
Mein DeviantArt Profil
Gewinner des BAC #136
 

Pro Soft

BeitragSo, Jul 18, 2010 17:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Fehler ist, dass die Flügel im Spiel weiß sind... obwohl sie wie im oberen bild gelb sein sollten.
 

TerrorMachine

BeitragSo, Jul 18, 2010 17:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Und die Flügel zeigen nach Unten (vorher nach Oben)

Goodjee

BeitragSo, Jul 18, 2010 17:58
Antworten mit Zitat
Benutzer-Profile anzeigen
genau, du siehst mehr fehler als der autor...
nein, das ist ne animation

zu den normalen: jedes dreieck deines meshes hat eine normale, das heißt ein vektor der senkrecht auf die fläche steht. dieser vektor wird benutzt um zu berechnen, wie stark die fläche beleuchtet wird.
wenn diese normale falsch exportiert wird könnten solche fehler entstehen
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Megamag

BeitragSo, Jul 18, 2010 18:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder du hast einfach eine starke, weiße Lichtquelle über dem Objekt, die die Flügel weiß färbt.
Mein DeviantArt Profil
Gewinner des BAC #136

skey-z

BeitragSo, Jul 18, 2010 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Lade das Mesh mal in Cinema, gehe links auf Polygone bearbeiten und wähle mal die entsprechenden Stellen aus, erscheinen diese Blau, drücke 'U' und dann direkt 'R', dann solten Sie rot erscheinen und in Blitz richtig dargestellt werden.

Übrigens, die gelben Linien, die senkrecht auf den Flächen stehen, sind die Normalen, daran erkennst du dann, in welcher Richtung sie stehen, ins Model rein ist, wenn nicht anders gewünscht, schlecht, Sie sollten immer nach außen stehen, damit man diese sieht.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

Omenaton_2

BeitragMo, Jul 19, 2010 8:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Gib dem Mesh Shininess 0 oder nahe 0.
Sollte das insgesamt nicht erwünscht sein oder immer noch Problem bestehen, trenne die Flügel vom Hauptkörper (falls das nicht schon längst der Fall sein sollte). Flügel sollen extra Mesh sein.
Du kannst dann dem Flügel Mesh in BlitzBasic eine andere Farbe zuweisen (nicht die importierte Farbe verwenden). Ich gehe aber davon aus, daß du auf die Flügel eine schöne Textur darauf legen möchtest. Das könnte schon das Problem lösen. Mach die Textur darauf und wenn nötig richtig dunkel.
 

Pro Soft

BeitragMo, Jul 19, 2010 12:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Erstmal danke für die ganzen Antworten, nur bis jetzt hat leider nichts geklapt.
Kann es sein das es darann liegt das die Flügel aus 2 Splines bestehen die durch Loftnurbs zusammen gesetzt sind? Hab davon mal ein Bild gemacht:
user posted image

Und leider kenn ich mich noch nicht so gut aus und weiß nicht wo ich shininess finde.
Nochmals danke

Megamag

BeitragMo, Jul 19, 2010 12:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Shinyness musst du in Blitz3D einstellen, nicht in Cinema.
Mein DeviantArt Profil
Gewinner des BAC #136
 

Pro Soft

BeitragMo, Jul 19, 2010 12:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Achso das wusste ich nicht, hab den befehl noch nie gebraucht, habs grade mal ausprobiert hat aber leider immer noch nicht geklapt.
Würd es euch helfen wenn ich das Object hochladen würde?

Megamag

BeitragMo, Jul 19, 2010 13:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Den code vielleicht auch.
Mein DeviantArt Profil
Gewinner des BAC #136
 

Pro Soft

BeitragMo, Jul 19, 2010 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

SeedRnd MilliSecs()

cnt=CountGfxModes3D()

Graphics3D GfxModeWidth(cnt),GfxModeHeight(cnt),GfxModeDepth(cnt),1
SetBuffer BackBuffer()

;cam
Global cam = CreateCamera()
MoveEntity cam,0,50,-100
TurnEntity cam,20,0,0
CameraRange cam,1,900000
CameraFogMode cam,0
CameraFogRange cam,5000,5000
CameraFogColor cam,0,0,0

; light
AmbientLight 255,255,255
main_light = CreateLight()
RotateEntity main_light,40,20,0

;-----------------------------------Schmetterling
schmetterling = LoadAnimMesh("Schmetterling.B3D")
PositionEntity schmetterling,30,32,0


Animate schmetterling,1,0.1

Repeat


   Cls
      

   

   If KeyDown(32) Then MoveEntity cam,0.05,0,0
   If KeyDown(30) Then MoveEntity cam,-0.05,0,0
   If KeyDown(17) Then MoveEntity cam,0,0,0.05
   If KeyDown(31) Then MoveEntity cam,0,0,-0.05
   
   UpdateWorld()
   RenderWorld()
   
   Flip 0
Until KeyHit(1)
End


Und hier die b3d datei und c4d datei:
https://www.blitzforum.de/upload/file.php?id=9124

Megamag

BeitragMo, Jul 19, 2010 14:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, das liegt tatsächlich am Modell. Hast du das mit den Normals mal ausprobiert?
Mein DeviantArt Profil
Gewinner des BAC #136
 

Pro Soft

BeitragMo, Jul 19, 2010 14:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja hab ich hat leider auch nicht geholfen. Aber nochmal danke für eure Hilfe.

ZaP

BeitragMo, Jul 19, 2010 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
AmbientLight sieht komisch aus. Ich glaub wenn das weiss ist, wird gar nichts mehr schattiert.
Starfare: Worklog, Website (download)
 

Blitzjockey

BeitragMo, Jul 19, 2010 16:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Nee, bei AmbientLight wird nie schattiert, egal welche Farbe. - Ohne AmbientLight wäre nichts zu sehen gewesen, bzw. Ambient Light wird die normale Farben "beigemischt."

Ich habe jetzt AmbientLight eine andere Farbe gegeben, dabei wechselt der Oberfläche der Flügel sofort Farbe mit, was drauf deutet das die Ober/Unterfläche der Flügel Weiss sind, im Modell.

Zusätlich habe ich TurnEntity MainLight nach unten verschoben und geändert in PointEntity Mainlight, Schmetterling, dabei wird der Unterseite des Flügels angeleuchtet.

Ich weiss nicht warum, aber ich gehe davon aus das der Ober/Unterflügel weiss sind, im gegensatz zur Seite des Flügels (der ist Gelb) und Rumpf (der offensichtlich Braun ist und bleibt)

BlitzBasic: [AUSKLAPPEN]

SeedRnd MilliSecs()

cnt=CountGfxModes3D()

Graphics3D GfxModeWidth(cnt),GfxModeHeight(cnt),GfxModeDepth(cnt),1
SetBuffer BackBuffer()

;cam
Global cam = CreateCamera()
MoveEntity cam,0,50,-100
TurnEntity cam,20,0,0
CameraClsColor cam, 100, 100, 255

; light
AmbientLight 25,25,25
main_light = CreateLight()
PositionEntity Main_Light, 0, 32, 0

;-----------------------------------Schmetterling
schmetterling = LoadAnimMesh("Schmetterling.B3D")
PositionEntity schmetterling,30,32,0
PointEntity main_light,schmetterling
UpdateNormals Schmetterling
Animate schmetterling,1,0.1

Repeat


Cls




If KeyDown(32) Then MoveEntity cam,0.05,0,0
If KeyDown(30) Then MoveEntity cam,-0.05,0,0
If KeyDown(17) Then MoveEntity cam,0,0,0.05
If KeyDown(31) Then MoveEntity cam,0,0,-0.05

UpdateWorld()
RenderWorld()

Flip 0
Until KeyHit(1)
End


- AmbientLight ist nun Dunkelgrau - gut zu sehen wenn der Fläche NICHT beleuchtet wird von Main_Light.
- Main_Light ist nun auf gleiche Höhe, damit die Wechsel der Schatten gut zu sehen: Normals sind gut ausgerichtet
- Seite des Flügels bleibt Gelb, aber Ober/Unterseite wechseln zwischen Farbe von AmbientLight (Grau) und Main_Light (Weiss)
- "Himmelfarbe" als Hintergrund eingestellt.

Aber MegaMag hat's schon gesagt: Es muss doch irgendwie am Modell liegen.

* Übrigens, bei Betrachtung des Wireframes: Du hast ja ein Unmenge an Dreiecken für die Seite des Flügels gebraucht! Das würde auch mit weniger Dreiecken gehen, spart Rechenkapazität.

Schöne Grüße,
BlitzJ.

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group