Lights Out..
Übersicht

VampireSilenceBetreff: Lights Out.. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Habe mal ne Frage zu den Lichtern. Und zwar erstelle ich meine Cubes mit folgender Funktion:
Code: [AUSKLAPPEN] Function CreatePuzzle(x,y,z)
Local Puzzle Puzzle = CreateCube() PuzzleLight = CreateLight(2) PositionEntity Puzzle,x,y,z ScaleEntity Puzzle, 0.433, 0.433, 0.433 EntityColor Puzzle, 128 + Rand( 0,127 ), 128 + Rand( 0,127 ), 128 + Rand( 0,127 ) EntityAlpha Puzzle, 0.75 LightColor PuzzleLight,255,255,255 LightConeAngles PuzzleLight,0,45 PositionEntity PuzzleLight,x,y,z LightRange PuzzleLight,8 PointEntity PuzzleLight,Puzzle LightConeAngles PuzzleLight,0,0 Return Puzzle End Function Dabei habe ich aber den unerwünschten Effekt, dass die Cubes nur aus der Sicht von Punkt (0|0|0) aus Sichtbar sind. Von Aussen sind sie alle Schwarz (sehen ein bisschen aus, wie die Erdkugel im All). Ausserdem werden die Farben nicht richtig dargestellt, wenn die Cubes sich von einem bestimmten Vektor entfernen (PositionEntity). Habe schon mit den LightColors/ConeAngles/Types rumgespielt, aber finde einfach nicht das richtige, um diese Effekte zu beheben. Weiss einer Rat ? EDIT: Da fällt mir noch was ein. Wie kann ich die Kanten der Cubes comicartig nachzeichnen ? So dass ich also einen "ausgemalten" Cube erhalte. Liebe Grüße - VampireSilence |
||
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dein Code ist etwas widersprüchlich, dazu aber später mehr. Viel wichtiger ist, dass DirectX nur 8 Lichter aufeinmal leuchten lassen kann. Ich nehme mal stark an, dass Dein Puzzle aus mehr als nur 8 Teilen besteht.
Du hast in deinem Code zweimal LightConeAngles, soweit ich weiß ist das aber nur bei CreateLight(3) wirklich brauchbar. Sollte ich mich da irren, kann es sein, dass LightConeAngles PuzzleLight,0,0 nicht ganz stimmt. Hoffe ich hab Dir ein bisschen geholfen. |
||
Starfare: Worklog, Website (download) |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du alles hell machen willst, verwende AmbientLight![]() |
||
VampireSilence |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
naya ich hab erst vorgestern mit BB3D angefangen und hab nun einfach mal alle Befehle ausprobiert, die sich gut angehört haben ![]() Der zweite ConeAngle-Befehl ist nen überbleibsel aus meiner Testwut. Da hab ich die beiden Befehle abwechselnd auskommentiert, um den Unterschied zu sehen, aber da gab es keinen. Nun weiss ich ya auch warum.. Hab da heute Nacht auch noch so einen Befehl "WireFrame" gefunden, der die Kanten schön darstellt, leider aber nicht mehr den farblichen Inhalt der Cubes. Kann man die beiden Ansichten Evtl kombinieren ? Liebe Grüße - VampireSilence |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du könntest de auch einfach schwarz einfärben, oder halt EntityFX![]() Btw sowas mit dne Kanten nennt man Toonshading, such mal danach. Wireframe wird dir nichts helfen. |
||
VampireSilence |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
[EntityFX Puzzle, 1] sieht schonmal sehr gut aus ! und mit [EntityFX Puzzle, 2] bekommen die Cubes so einen metallischen Glanz, der dann aber nicht mehr Farbig ist, sondern nur noch Graustufen enthält. Kann man das vllt auch irgendwie kombinieren ? Dann wären das quasi farbige Metallkisten, was ziemlich gut passen würde.
Danke schonmal ! Mache mich direkt mal auf die Suche nach "Toonshading".. Edit: Bin fündig geworden und hab mir mal die Funktion [CreateOutline] von Vertex geklaut. Leider stellt diese Funktion keine Linien dar, die aus Sicht der Camera "vor" dem Cube liegen. Was müsste ich dafür ändern ? Hier mal nen Auszug der Funktion: Code: [AUSKLAPPEN] Function CreateOutline(Mesh, Scale#)
Local Outline, SurfaceCount, S, Surface, VertexCount, V Local Position#[2] Outline = CopyMesh(Mesh, Mesh) SurfaceCount = CountSurfaces(Outline) For S = 1 To SurfaceCount Surface = GetSurface(Outline, S) VertexCount = CountVertices(Surface)-1 For V = 0 To VertexCount Position[0] = VertexX#(Surface, V)+VertexNX#(Surface, V)*Scale# Position[1] = VertexY#(Surface, V)+VertexNY#(Surface, V)*Scale# Position[2] = VertexZ#(Surface, V)+VertexNZ#(Surface, V)*Scale# VertexCoords Surface, V, Position[0], Position[1], Position[2] Next Next EntityColor Outline, 0, 0, 0 FlipMesh Outline Return Outline End Function Is zwar scheinbar für Meshes gedacht, lässt sich aber auch ohne zu meckern auf Cubes() anwenden. Liebe Grüße - VampireSilence |
||
BadDeath |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Die Parameter für Befehle wie EntityFX lassen sich addieren. Wenn du nun also EntityFX Puzzle, 1 UND EntityFX Puzzle, 2 haben möchtest, nimmst du einfach EntityFX Puzzle, 3. (steht aber auch in der Hilfe) | ||
-~= real coders just code in binary =~- |
VampireSilence |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das hab ich auch gemacht, aber das Ergebnis ist optisch keine Addition, sondern die Blöcke werden einfach nur strahlend weiss. Weder die Farbe, noch der Glanz sind dann noch zu sehen..
Liebe Grüße - VampireSilence |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group