Linepick.. irgendwas funktioniert nicht richtig
Übersicht
BlitzMax, BlitzMax NG
Allgemein
InfectedBetreff: Linepick.. irgendwas funktioniert nicht richtig |
Antworten mit Zitat |
|
|---|---|---|
|
Hallo!
Vorab, es handelt sich zwar um miniB3D, aber es ist ganz sicher kein miniB3D-Problem, sondern einfach nur ein Denkfehler(o.ä.). Momentan versuche ich in einer 3D Welt zufällig auf dem Terrain(Mesh) Steine zu verteilen, hier mal der relevante Code: Code: [AUSKLAPPEN] Type MapObjects Field ObjType:Int ' 1 Baum, 2 Stein Field mesh:TEntity Field x:Float ' Postionsvariablen Field y:Float ' " Field z:Float ' " Field rotation:Float ' Rotation des Objektes Field id:Int ' Objekt-Id des Objektes, damit wird das Objekt identifiziert Field state:Int ' Status des Objektes End Type Global eWorld:TMesh = LoadMesh("data/terrain/island.b3d") ScaleEntity eWorld,11,11,11 PositionEntity eWorld,-550,-1000,-2000 EntityPickMode eWorld,2 EntityFX eWorld,1 EntityType eWorld,2 For stones = 1 To 20 stone:MapObjects = New MapObjects stone.mesh = CopyEntity(stoneMesh) stone.z# = Rnd(-1500,3300) stone.x# = Rnd(-300,4600) LinePick(stone.x#,300,stone.z#,stone.x#,-3100,stone.z#,1) 'Print "stone nr:" +stones 'Print "stone.x: " +stone.x# 'Print "stone.z: " +stone.z# 'Print "stone.y: " +PickedY#() stone.y# = PickedY#() stone.id = stones stone.state = 1 PositionEntity stone.mesh,stone.x#,stone.y#,stone.z# Next Ansich klappt es soweit, aber die Steine verschwinden mal ein Stück im Boden, mal komplett.. mal fliegen sie in der Luft.. ich weiß einfach nicht mehr weiter.. Vielleicht sieht jemand was hier falsch ist. |
||
|
|
XeresModerator |
Antworten mit Zitat |
|---|---|---|
|
~VERSCHOBEN~ Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde. Ich würde es mit dem Äquivalent von TerrainHeight (Mal Skalierung usw.) probieren.
|
||
|
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
||
|
|
Midimaster |
Antworten mit Zitat |
|---|---|---|
|
1.
ist die Angabe von radius# wirklich sinnvoll? 2. ersetze mal testhalber BlitzBasic: [AUSKLAPPEN] stone.mesh = CopyEntity(stoneMesh) durch BlitzBasic: [AUSKLAPPEN] stone.mesh = CreateCube() |
||
Infected |
Antworten mit Zitat |
|
|---|---|---|
|
Selbes ergebnis, einzelne Würfel sitzen perfekt, andere sind fast komplett im Boden verschwunden..
http://www.xup.in/dl,80567759/cubetest.png/ TerrainHeight funktioniert bei nem Meshterrain nicht. Und Meshheight gibt anscheinend nur den höchsten Punkt aus. Die Angabe von #Radius ist auch nur ein Test, habs mit 0 und 1 probiert, standart ist für sowas 0 bei mir |
||
|
|
Tankbuster |
Antworten mit Zitat |
|---|---|---|
Nunja, das sieht entweder nach Rundungsfehler aus, aber da das nicht so ist, vermute ich mal, es liegt an LinePick . Hast du mal einen Radius von 0.01 oder ähnliches Probiert?
Bei einem 1-Einheiten dicken Strahl ist es jawohl klar, dass keine vernünftigen Ergebnisse rauskommen. Oder versuch es mal so: Code: [AUSKLAPPEN] [....] stone.x# = PickedX#() stone.y# = PickedY#() stone.z# = PickedZ#() stone.id = stones stone.state = 1 PositionEntity stone.mesh,stone.x#,stone.y#,stone.z# Weil PickedX() und PickedZ() sich von stone.x und stone.z unterscheiden können, da der Radius des Strahls nicht 0 ist EDIT: Und im Boden ist klar.. zu hohe Steigung des Terrains, der Würfel kann nichts dafür ^^ |
||
|
Twitter
Download Jewel Snake! Windows|Android |
||
Übersicht
BlitzMax, BlitzMax NG
Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group

