Lustige Effekte...
Übersicht BlitzBasic Allgemein
5k41Betreff: Lustige Effekte... |
Mi, März 01, 2006 16:59 Antworten mit Zitat |
|
---|---|---|
Hallo!
Ich frage mich schon seit längerem wie man so schöne Effekte wie z.B. eine Lupe also einen Kreis in dem alles so groß und gewölbt aussieht oder einen Verschwimm-Effekt hinbekommt und da ich keine Ahnung hab, wie man nach sowas suchen kann dachte ich wende ich mich an euch! Um gleich noch mit zu fragen: Geht sowas nur in 3D oder auch in 2D? Danke für eure Hilfe! mfg |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
hecticSieger des IS Talentwettbewerb 2006 |
Mi, März 01, 2006 17:03 Antworten mit Zitat |
|
---|---|---|
Garnicht? Oder selber mit Sin/Cos/Tan arbeiten und hoffen es schnell genug hin zu bekommen... Assembler ist für solche Sachen angebracht... | ||
5k41 |
Mi, März 01, 2006 17:05 Antworten mit Zitat |
|
---|---|---|
*zusammenbrech* danke erstmal für deine schnelle Antwort! Wenn das so ist dann brauch man ja garnicht weiter diskutieren dann muss man das halt wirklich per writepixel und ner berechnung machen... schade ich dachte es gäbe für sowas ne Dll oder Funktionen... | ||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
HW |
Mi, März 01, 2006 17:08 Antworten mit Zitat |
|
---|---|---|
Also die Lupe ist schon schwer. Und wenn man in ihr alles gewölbt darstellen will, erst recht.
Aber der Verschwimmeffekt (besser bekannt als "Blur") ist aber nicht wirklich schwer. Da gibts auch einiges in dem Codearchiv. Das Prinzip des Blureffekts liegt darin, die Farbmittelwerte eines Pixels und der jeweiligen Nachbarspixel in den entsprechenden Pixel zu schreiben. |
||
5k41 |
Mi, März 01, 2006 17:12 Antworten mit Zitat |
|
---|---|---|
Cool das ist ja immerhin schon etwas! Danke!
Es gibt nicht zufällig wen, der das alles mal in ner Dll oder einen Paar Funktionen vereint hat und das kostenlos zur verfügung stellt oder? |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
hecticSieger des IS Talentwettbewerb 2006 |
Mi, März 01, 2006 17:12 Antworten mit Zitat |
|
---|---|---|
Ob es eine Dll dafür gibt weiß ich nicht... Nur sind solche Sachen nicht grad für Realtimegames geeignet, da die Berechnungen nun mal recht 'komplex' sind... Eine einfache Lupe bekommt man einfach mit B3D hin, aber da stand was von 'Wölbungen', und genau diese sind nicht einfach für den Rechner. Weil sie Winkelfunktionen benötigen. Theoretisch könnte man auf Winkelfunktionen verzichten und das ganze in einer art 'Gravitationsberechnung' durchführen. Diese kämmen dann auch ohne Winkelfunktionen aus. Nur sind dann auch gewisse Einschränkungen der Realistischen Darstellung hinzunehmen.
Was willst du denn machen? Ein schwarzes Loch darstellen? |
||
5k41 |
Mi, März 01, 2006 17:17 Antworten mit Zitat |
|
---|---|---|
Nein mir geht es nur generell um ein Paar witzige Effekte die z.B. ein langweiliges Menü aufpeppen könnten oder so. Mir gehts auch nicht speziell um diese Effekte sollten halt nur Beispiele sein! | ||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
HW |
Mi, März 01, 2006 17:29 Antworten mit Zitat |
|
---|---|---|
Bei einem Menü wendet man sowas eher nicht an. In einem Spiel geht es schließlich nicht um das Menü. Ein Menü mit ein paar Bildchen auszudekorieren, ist ganz gut. Aber man sollte ein Menü nicht mit irgendwelchen dahinprogrammierten Effekten zumüllen. | ||
hecticSieger des IS Talentwettbewerb 2006 |
Mi, März 01, 2006 17:29 Antworten mit Zitat |
|
---|---|---|
Wenn es darum geht ein Menü bei auftauchen ein wenig aufzuepeppen, dann kann man es unter 2D auch so machen, das man das Menübild Grabt und aus denen mehrere Tiles macht (GrabImage x,y, FRAME). Mit diesen lassen sich dann auch so schöne Sachen machen, wie ein 'Aufzoomen' die dann mit gewölbter Grafik daher kommt. Hier wird ja nicht jeder Pixel einzelnd berechnet, sondern ein ganzes Tile und somit bleiben wesentlich weniger Berechnungen übrig... Im grunde sollte sich da jeder mal was neues einfallen lassen, um eine 'wow' -Effekt beim User zu landen...
@HW, bitte nur als das Auftauchen des Menüs verstehen... |
||
5k41 |
Mi, März 01, 2006 17:40 Antworten mit Zitat |
|
---|---|---|
sorry aber das mit dem grab und in tiles teilen versteh ich im moment leider nicht...
Das mit dem Menü war auch nur ein (schlechtes) Beispiel. Ich hab mich letztens wieder an einen Thread erinnert in dem sowas in der richtung vorgestellt wurde desswegen komme ich darauf. Ich werd mal ein bisschen die Forensuche anwerfen bis dahin... mfg! |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
Dreamora |
Mi, März 01, 2006 17:41 Antworten mit Zitat |
|
---|---|---|
HW hat Folgendes geschrieben: Bei einem Menü wendet man sowas eher nicht an. In einem Spiel geht es schließlich nicht um das Menü. Ein Menü mit ein paar Bildchen auszudekorieren, ist ganz gut. Aber man sollte ein Menü nicht mit irgendwelchen dahinprogrammierten Effekten zumüllen.
Erklär das doch bitte Mal Apple Die Zeiten als Menüs nur funktionell waren, sind leider schon lange vorbei ... sonst würde man heute keine 3D Karte brauchen, damit der Desktop noch gescheit läuft ... |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
5k41 |
Mi, März 01, 2006 17:43 Antworten mit Zitat |
|
---|---|---|
so ging recht schnell habs gefunden!
https://www.blitzforum.de/view...ht=desktop mir ist schon klar das ich mir keine Hoffnung machen muss das ich das so gut hinbekomme aber ich würde halt nur mal gern sowas in der Richtung gemacht haben... P.S.: Dreamora du hast vollkommen recht! (es gibt wenn ich recht überlege sogar bei Apple einen ähnlichen Effekt wie ich "herstellen" will, diese Leiste dort unten am Bildschirm ) |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
ke^kx |
Mi, März 01, 2006 17:46 Antworten mit Zitat |
|
---|---|---|
Guck doch mal bei bb.com im Codearchiv. Da findet man viele Effekte.
Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
Bob |
Mi, März 01, 2006 17:46 Antworten mit Zitat |
|
---|---|---|
Hi,
hier mal Quick and Dirty. Allerdings leider noch keine Wölbung. Code: [AUSKLAPPEN] Apptitle "Fake Lupe by bob" Const ScreenX = 800 Const screenY = 600 Graphics 800,600,32,2 Global HG1 =createimage(ScreenX,ScreenY) SetBuffer ImageBuffer(HG1) For y = 0 To screenY Step 32 For x = 0 To screenx Step 32 Color Rand(255),Rand(255),Rand(255) Rect x,y,32,32 Next Next HG2 = CopyImage(HG1) ScaleImage HG2,2,2 Global HG_Back = CopyImage(HG1) SetBuffer BackBuffer() While Not keyhit(1) mx = MouseX() my = MouseY() DrawBlock HG2,0-MX,0-MY DrawImage HG1,0,0 Color 255,0,0 Oval mx-100,my-100,200,200,0 stanze_Loch(mx,my) Flip Wend End Function stanze_Loch(mx,my) FreeImage HG1 hg1 = CopyImage(HG_Back) Color 255,255,255 SetBuffer ImageBuffer(HG1) Oval mx-100,my-100,200,200 SetBuffer BackBuffer() MaskImage hg1,255,255,255 End Function |
||
Er soll an den Spielen teilnehmen bis er spielend stirbt. MCP - TRON |
5k41 |
Mi, März 01, 2006 19:12 Antworten mit Zitat |
|
---|---|---|
cool! Das ist ja schonmal echt gut! Aber irgendwie stimmt das noch nicht ganz ich mein wenn ich über ein Rechteck halb fahre dann sehe ich es noch nicht in der lupe erst wenn es ungefähr in der Mitte ist. | ||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
Spikespine |
Mi, März 01, 2006 19:30 Antworten mit Zitat |
|
---|---|---|
5k41 hat Folgendes geschrieben: cool! Das ist ja schonmal echt gut! Aber irgendwie stimmt das noch nicht ganz ich mein wenn ich über ein Rechteck halb fahre dann sehe ich es noch nicht in der lupe erst wenn es ungefähr in der Mitte ist.
naja, es ist eben vergrößert und deshalb siehst du in der lupe nicht den kompletten Bereich , der durch die Lupe weggenommen ist. der code also imho korrekt. |
||
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax |
5k41 |
Mi, März 01, 2006 19:37 Antworten mit Zitat |
|
---|---|---|
achja hab ich garnicht dran gedacht ich trottel
da müsste dann wieder meine Krümmung ins spiel kommen... |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
#ReaperNewsposter |
Mi, März 01, 2006 20:12 Antworten mit Zitat |
|
---|---|---|
Also man bekommt mithilfe von 3D eine Lupe saueinfach hin, welche auch noch ziemlich schnell funktioniert, wie dieser, nicht sehr sauber geschriebene Code beweist
Code: [AUSKLAPPEN] flname$ = "test-desktop" deskimg = LoadImage(flname$+".bmp") ax = ImageWidth(deskimg) ay = ImageHeight(deskimg) ;FreeImage deskimg Global graphics_x=ax ;Auflösung X Global graphics_y=ay ;Auflösung Y Const graphics_d=32 ;Auflösung Bits Const graphics_m=1 ;Auflösung Mode Graphics3D graphics_x,graphics_y,graphics_d,graphics_m SetBuffer BackBuffer() font_arial = LoadFont("Verdana",20,1) SetFont font_arial ;------------------------------Globale,Types,etc.--- Dim FPS(3) ;fuer die FPS-Rate ;-------------------------ENDE-Globale,Types,etc.--- ;Create Maincam camera1 = CreateCamera() CameraViewport camera1,0,0,graphics_x,graphics_y CameraRange camera1, 0.1, 100 CameraProjMode camera1,1 CameraClsMode camera1,0,1 ;<----Sehr wichtig, wenn der Hintergrund der 2D Szene bleiben soll! ;Create Mainlight light1 = CreateLight() LightColor light1,200,200,200 PositionEntity light1,0,0,-1000 ;TurnEntity light1,90,0,0 ;AmbientLight 255,255,255 deskimg = LoadImage(flname$+".bmp") ;DesktopImage tex_x = 512 tex_y = 512 sphere = CreateSphere(24) PositionEntity sphere,0,0,4.99 ScaleEntity sphere,1.4,1.4,0.2 EntityShininess sphere,0.5 ;sphere_tex_rand = LoadTexture("rand.jpg",2+512) ;EntityTexture sphere,sphere_tex_rand,0,1 sphere_tex = CreateTexture(tex_x,tex_y,256+1) ScaleTexture sphere_tex,1.5,1.5 PositionTexture sphere_tex,0.835,0.835 EntityTexture sphere,sphere_tex ;--------Mouse-- MoveMouse graphics_x/2,graphics_y/2 HidePointer ;---ENDE-Mouse-- SeedRnd MilliSecs() msx# = Rnd(0.2,0.5) msy# = Rnd(0.2,0.5) mx=MouseX() my=MouseY() While Not KeyHit(1) ;------MAINLOOP Cls DrawImage deskimg,0,0 If MouseX()<>mx Or MouseY()<>my Then End If an=0 Then CameraProject camera1,EntityX(sphere),EntityY(sphere),EntityZ(sphere) px=ProjectedX() py=ProjectedY() CopyRect px-(tex_x/2),py-(tex_y/2),tex_x,tex_y,0,0,BackBuffer(),TextureBuffer(sphere_tex) EndIf If KeyHit(2) Then an=1-an:DebugLog an ;Moving Cam ;If KeyDown(200) Then MoveEntity camera1,0,0,1 ;If KeyDown(208) Then MoveEntity camera1,0,0,-1 ;If KeyDown(203) Then MoveEntity camera1,1,0,0 ;If KeyDown(205) Then MoveEntity camera1,-1,0,0 SeedRnd MilliSecs() If EntityY(sphere)>2.5 Then msy# = -Rnd(0.15,0.5) If EntityY(sphere)<-2.5 Then msy# = Rnd(0.15,0.5) If EntityX(sphere)>4 Then msx# = -Rnd(0.15,0.5) If EntityX(sphere)<-4 Then msx# = Rnd(0.15,0.5) MoveEntity sphere,msx#/10,msy#/10,0 ;msx# = MouseXSpeed() ;msy# = MouseYSpeed() ;MoveEntity sphere,msx#/100,-msy#/100,0 ;MoveMouse graphics_x/2,graphics_y/2 ;End Moving Cam If KeyHit(17) Then wframe = 1-wframe:WireFrame wframe ;Wireframe RenderWorld ;Color 255,0,0:Text 10,10,"FPS: " + ShowFPS() Flip 0 Wend ;---------------END OF MAINLOOP End Function ShowFps#() ;FPS anzeigen FPS(2)=FPS(2)+1 If MilliSecs()>FPS(3)+999 Then FPS(1)=FPS(2) FPS(2)=0 FPS(3)=MilliSecs() EndIf Return FPS(1) End Function |
||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
5k41 |
Mi, März 01, 2006 20:27 Antworten mit Zitat |
|
---|---|---|
Danke!
Leider ist bei mir nur ein weisser Kreis da ich keine Textur für die Lupe hatte... stell doch mal bitte deine Online! |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
hecticSieger des IS Talentwettbewerb 2006 |
Mi, März 01, 2006 20:37 Antworten mit Zitat |
|
---|---|---|
ok,.. Ich nehm alles zurrück das man es nicht schnell genug in Blitz bekommen kann... | ||
Übersicht BlitzBasic Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group