Get Angle ?
Blitz3D Forums/Blitz3D Beginners Area/Get Angle ?
| ||
Hi Everybody, I looked in the code arc's and could not find what I was looking for, or my feeble little mind could not understand any of it :) Here is what I need; 1. Get the Angle of the Tri/Vert/Poly that my player is standing on. 2. If the angle=>60 degrees the stop my animation as in, he cannot climb that hill. thats it, but I am confused on how to do this. Any help would be greatly appreciated. THX ! |
| ||
Use Linepick vertical down and then pickedy Thats will allow you to calculate the angle atan / atan2 |
| ||
Could you possibly provide a code sample for myself and others? :) |
| ||
LinePick entityx(player ), entityy(player ) + 10 , entityz( player ), 0,-100,0 If PickedNy < .25 then { this is a pretty steep slope } endif You don't need atan2 etc.. that's just overkill. Just use the pickedny() .. you'll need to play with the .25 value but 1 = flat , 0 = vertical. Stevie |
| ||
so do I need to make my player "pickable" or my terrain mesh? and thx for your help :) |
| ||
The terrain mesh. |
| ||
I did that and PickedNY has no value assigned to it. And I did assign entitypickmode 2 to my terrain. In my Code I have "my_angle" as a global # to capture the value so I could see the proposed angle of the terrain vert, and why it was not working. And my "my_angle" variable shows no value for PickedNY: your code: LinePick EntityX(player ), EntityY(player ) + 10 , EntityZ( player ), 0,-100,0 my_angle=PickedNY If PickedNY < .25 ;the .25 value but 1 = flat , 0 = vertical EndIf |
| ||
You need to use brackets with PickedNY(), else the compiler thinks you're referencing a variable called PickedNY, not calling a function. |
| ||
EDIT : sorry - you have the # there already. My bad - forgot about the () part!! |
| ||
ok, that works great on my terrain, allowing me to determine at what angles my actor can/cannot go up. But, a new problems arose..I am using "EntityPickMode enemy,1" for my badguys so when they get into my crosshair it changes the crosshair color. "pictentity=CameraPick(camera,MouseX(),MouseY()) If PickedEntity()=enemy1 ShowEntity target122" Well now that my terrain is pickable, it wont let the pickmode for my badguys function. It acts like it's being overran by something and is ignored. |
| ||
I may have found a temporary fix, I enable pickmode for the Terrain>run the angle check>then un-enable pickmode. Will this be a performance hit ? |
| ||
It may be the way your code is structured. If you can paste the code you are using it might help. It shouldn't be any performance hit disabling pickmodes. |
| ||
Ok, i fixed it, I zigged instead of zagging...lol Thx to all for helping, this is working great. |