forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   пара вопросов по terrain (http://forum.boolean.name/showthread.php?t=3675)

IGR 18.06.2007 13:31

пара вопросов по terrain
 
1) какой самый лутший способ создания ландшафта: 3Д макс-*.3ds, 3Д макс-*.b3d, blitz ??
2) как можна установить предельный угол на какой обьект может подыматся по ландшафту ?? ну ето типа на крутую горку зайти не может, а на небольшой склон может !!

H@NON 18.06.2007 13:47

Re: пара вопросов по terrain
 
1) Ну это зависит от игры, хотя.....
2)берешь EntityYaw( объект ) и устанавливаешь. Если больше 90 градусов относительно нормали точки ландшафта то не подыматся , если иначе то прем вперед.
Поправка:
2)Берешь нормаль точки соприкосновения ландшавта с объектом(CollisionNY( entity, index ) и сравниваешь.

for n = 0 to countCollisions( terrain )
ny# = CollisionNY#( terrain, n )
if EntityYaw( object ) > ny then stop
next

IGR 18.06.2007 14:12

Re: пара вопросов по terrain
 
я с нормалями не сдружился.
можеш подробней разяснить код.

H@NON 18.06.2007 16:39

Re: пара вопросов по terrain
 
Опа.. ошибочка. нужно так:
If EntityCollided( player, world_col )
For n = 1 To CountCollisions( player )
ny# = CollisionNY#( player, n )
angleNY#=.....
if angleNY#<90 then stop
Next
EndIf
Забыл что CollisionNY возвращает не угол а вектор, так тебе остается только найти етот угол и сравнить. К сожалению не помню как это делается

moka 19.06.2007 01:30

Re: пара вопросов по terrain
 
Цитата:

К сожалению не помню как это делается
90-Sin(angleNY)
Вроде ;)

1. Если у тебя есть своя система ландшафта, с удобными фунциями для неё то конечно лучше свой, точнее, фотошопом генеришь, обрабатываешь, и затем эту высотную в блице как ландшафт грузишь, только я не о стандартном террайне, а о собственном.

HolyDel 19.06.2007 01:39

Re: пара вопросов по terrain
 
а если не юзаеш коллизии (например как я), то мона просто узнать точку перед юнитом.
x#=entityx(unit_mega_tankkk)+sin(entityyaw(unit_me ga_tankkk))*5
z#=entityz(unit_mega_tankkk)+cos(entityyaw(unit_me ga_tankkk))*5
возможно надо будет поменять sin и cos, или знак "минус" куда нить присобачить.
потом узнаеш высоту етой точки и сравниваеш ее с высотой юнита.
например высота точки 110, а высота юнита 100.
знаит угол - atan((110-100)/5) и там уже смотриш может ли етот юнит взбираться на такую отвесную гору.

IGR 20.06.2007 16:16

Re: пара вопросов по terrain
 
спасибо !! буду пробовать разные вариаты !!
но и всё же, где лутше зделать ландшафт в МАКСЕ или БЛИЦЕ, ето касательно производительности ??

Черный крыс 20.06.2007 19:14

Re: пара вопросов по terrain
 
Если нужна производительность - в блитце
Если нужна стабильность - в Максе

Leito 20.06.2007 19:32

Re: пара вопросов по terrain
 
HolyDel, респект чел, я тоже не юзаю колизии!

IGR 21.06.2007 13:49

Re: пара вопросов по terrain
 
я заметил такую штуку : создал план в МАКСЕ 120 на 120 сегментов, зделал из него террайн, загрузил в БЛИТС, достаточно сильно его заскалил.
потом создал сферу, которая должна двигатся по террайну, прописал коллизии и
TranslateEntity sphera, 0,20,0
так она когда стоит на месте проваливается под террайн, а когда я ее двигаю, то не проваливается !!
Ето из-за того что мало сегментов (120) ??

H@NON 21.06.2007 14:44

Re: пара вопросов по terrain
 
Цитата:

Сообщение от IGR
я заметил такую штуку : создал план в МАКСЕ 120 на 120 сегментов, зделал из него террайн, загрузил в БЛИТС, достаточно сильно его заскалил.
потом создал сферу, которая должна двигатся по террайну, прописал коллизии и
TranslateEntity sphera, 0,20,0
так она когда стоит на месте проваливается под террайн, а когда я ее двигаю, то не проваливается !!
Ето из-за того что мало сегментов (120) ??

Это из -за TranslateEntity sphera, 0,20,0. Не ставь такое большое значение, коллизия не успевает проверятся, поэтому и проваливается.

IGR 21.06.2007 14:47

Re: пара вопросов по terrain
 
а почему когда сфера движется по ландшафту она не проваливается ??

H@NON 21.06.2007 15:12

Re: пара вопросов по terrain
 
Цитата:

Сообщение от IGR
а почему когда сфера движется по ландшафту она не проваливается ??

Фиг знает. Может коллизия происходит не в одной точке а в нескольких, поэтому проверка успевает выполнятся.А может транслейт отрубается когда объект движется не в ту сторону в которую ты поставил на транслейте.

IGR 14.09.2007 16:30

Re: пара вопросов по terrain
 
что б не создавать новую тему решил постить в старой !!
вот собственно вопрос:
у меня есть террайн :), мне нужно зделать пищеру !!
модель пищеры идет отдельно !!

как зделать отверстие :) в террайне что бы туда вставить :) пищеру ??
не полигоны же удалять !!

johnk 14.09.2007 16:47

Re: пара вопросов по terrain
 
Опусти вниз вершины :)


Часовой пояс GMT +4, время: 13:26.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot