Linepick.. irgendwas funktioniert nicht richtig
Übersicht

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 ![]() |
||
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![]() 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


Powered by phpBB © 2001 - 2006, phpBB Group