[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Вопросы новичка…
VitaliSimusДата: Понедельник, 06 Апреля 2009, 17:22 | Сообщение # 1
Начинающий
Группа: Пользователи
Сообщений: 16
Награды: 0
Замечания: 0%
Статус:

Профессия: Моделлер , немного программист
Проектов: 2 в разработке
Global CURSOR_MARK=CreateCube()
PositionEntity CURSOR_MARK,PickedX(),PickedY(),PickedZ()

player=CreatePivot()
camera=CreateCamera(player)
model = LoadMesh ("model.3ds",player)

xt#=EntityX#(CURSOR_MARK)
zt#=EntityZ#(CURSOR_MARK)
xl#=EntityX#(player)
zl#=EntityZ#(player)
cx#=xt-xl
cz#=zt-zl

AlignToVector player,cx,0,cz,0,.02

1. Сделал куб который всегда находится в координатах курсора, модель игрока всегда должна смотреть на куб, с помощью AlignToVector я это реализовал, но есть две проблемы:
а) наведение под конец(когда угол между моделью игрока и кубом становиться маленьким) замедляется. Как сделать чтоб оно всегда было одинаково
б) если куб находится сзади игрока и поворот что влево что вправо равен 180 градусов модель переворачивается, как этого избежать или сделать так чтоб "AlignToVector" не реагировал на 180.

2. камера привязано к игроку и если игрок поворачивается то и камера тоже, как сделать так чтоб камера не поворачивалась, но была привязана к игроку(точнее говоря всегда следовала за игроком).

3. К "player" я сделал коллизию(для взаимодействия с местностью), модель игрока " model " привязана к "player" и у нее тоже есть коллизия (для взаимодействия с объектами), управлять нужно "player"ом. Если " model " коллизится с объектами то она смещается с своих координат(а она всегда должна находится в координатах "player"), что не приемлемо. Как реализовать так чтоб "player" тоже зависел от " model ".

 
VitaliSimusДата: Понедельник, 06 Апреля 2009, 19:01 | Сообщение # 2
Начинающий
Группа: Пользователи
Сообщений: 16
Награды: 0
Замечания: 0%
Статус:

Профессия: Моделлер , немного программист
Проектов: 2 в разработке
Короче вот код:
===========================
Graphics3D 1280,1024,32,1
SetBuffer BackBuffer()

Const TypePlayer=1, TypeTerrain=2, TypeBuilding=3, TypeCorpus=4

Global player
Global krechet
Global speed1#=0
Global speed3#=0
Global camera
Global model_krechet = CreateSphere()
ScaleEntity model_krechet,10,10,50
HideEntity model_krechet
Global CURSOR_MARK=CreateCube()
ScaleEntity CURSOR_MARK,10,10,10
MoveMouse 512,384
Global light=CreateLight()
TurnEntity light ,90,0,0

create_player()
h_model()

pln=CreatePlane()
tex=LoadTexture("tex_01.jpg")
ScaleTexture tex,200,200
EntityTexture pln,tex
EntityPickMode(pln,2)
EntityType pln,2
build=CreateCube()
ScaleEntity build,100,300,200
PositionEntity build ,400,0,400
EntityPickMode(build,2)
EntityType build,3
build1=CreateCube()
ScaleEntity build1,100,100,200
PositionEntity build1 ,-200,0,-200
EntityPickMode(build1,2)
EntityType build,3

Collisions TypePlayer,TypeTerrain,2,3
Collisions TypeCorpus,TypeBuilding,2,1

While Not KeyHit(1)
x=MouseX()
y=MouseY()
pick=CameraPick(camera,x,y)
PositionEntity CURSOR_MARK,PickedX(),PickedY(),PickedZ()
h_controll()
UpdateWorld
RenderWorld
Flip
Wend
End

Function create_player()
player=CreatePivot()
PositionEntity player,0,10,0
EntityType player,1

camera=CreateCamera()
PositionEntity camera ,0,1500,-1400
TurnEntity camera ,45,0,0
CameraZoom camera ,2
CameraRange camera ,1,5000
End Function

Function h_model()
krechet = CopyEntity (model_krechet,player)
TurnEntity krechet ,180,0,0
PositionEntity krechet ,0,200,-15
EntityType krechet ,4
End Function

Function h_controll()

MoveEntity player,speed1#,0,speed3#
TranslateEntity player,0,-1,0

If speed3>0 Then speed3=speed3-.25
If speed3<0 Then speed3=speed3+.25
If speed3>2 Then speed3=2
If speed3<-1 Then speed3=-1
If KeyDown(17) Then speed3=speed3+.5
If KeyDown(31) Then speed3=speed3-.5

xt#=EntityX#(CURSOR_MARK)
zt#=EntityZ#(CURSOR_MARK)
xl#=EntityX#(player)
zl#=EntityZ#(player)
cx#=xt-xl
cz#=zt-zl

AlignToVector player,cx,0,cz,0,.05
End Function
============================================
Кстати:
AlignToVector player,cx,0,cz,0,.02
Последний параметр это скорость поворота (лично у меня)

 
VitaliSimusДата: Понедельник, 06 Апреля 2009, 20:16 | Сообщение # 3
Начинающий
Группа: Пользователи
Сообщений: 16
Награды: 0
Замечания: 0%
Статус:

Профессия: Моделлер , немного программист
Проектов: 2 в разработке
А что насчет других моих вопросов?

2. камера привязано к игроку и если игрок поворачивается то и камера тоже, как сделать так чтоб камера не поворачивалась, но была привязана к игроку(точнее говоря всегда следовала за игроком).

3. К "player" я сделал коллизию(для взаимодействия с местностью), модель игрока " model " привязана к "player" и у нее тоже есть коллизия (для взаимодействия с объектами), управлять нужно "player"ом. Если " model " коллизится с объектами то она смещается с своих координат(а она всегда должна находится в координатах "player"), что не приемлемо. Как реализовать так чтоб "player" тоже зависел от " model ".

 
VitaliSimusДата: Вторник, 07 Апреля 2009, 18:01 | Сообщение # 4
Начинающий
Группа: Пользователи
Сообщений: 16
Награды: 0
Замечания: 0%
Статус:

Профессия: Моделлер , немного программист
Проектов: 2 в разработке
Нет ты не понял что мне требуется.

2. Мне нужно сделать чтобы камера вила себя как в alien shooter-игрок свободно перемещается а камера двигается за ним но не поворачивалась если поворачивается игрок. Короче конкретно: есть объект А, и объект Б. Объект А должен всегда находится в координатах объекта Б. Как это реализовать?
3. Игрок будет управлять воздушным объектом (к примеру вертолетом):
пивот имеет гравитацию и скользит по земле (так же на нем закреплено управление) и он колизится с землей, сама модель вертолета находится намного выше него: то есть вертолет держит всегда одну высоту над неровностями (если гора то он поднимается и т.д.). «это я реализовал» см. пример.
А проблема заключается в том что нужно сделать столкновение со зданиями:
Пивот не имеет коллизии со зданиями для того чтоб если здание низкое то вертолет спокойно пролетал над ним. Однако если здание высокое то нужно сделать столкновение с объектом: чтоб вертолет стукнулся и остановился. Вот для этого я и вертолету сделал коллизию, но проблема в том что пивот не привязан к вертолету в результате чего когда вертолет останавливается перед зданием пивот идет дальше.

 
EnigmaДата: Среда, 08 Апреля 2009, 23:37 | Сообщение # 5
Начинающий
Группа: Пользователи
Сообщений: 6
Награды: 0
Замечания: 0%
Статус:
1-ый твой вопрос:
Попробуй использовать вместо AlignToVector - Pointentity Player,CURSOR_MARK Rotateentity player,0,entityYaw(player),entityRoll(player)

Может поможет.

 
EnigmaДата: Четверг, 09 Апреля 2009, 17:31 | Сообщение # 6
Начинающий
Группа: Пользователи
Сообщений: 6
Награды: 0
Замечания: 0%
Статус:
Извини. Сразу не понял. Тогда попробуй это:

Создай дополнительный обьект и пропиши ему
Positionentity object,entityX#(Player),entityY#(Player),entityZ#(Player)
Rotateentity object,entityPitch(Player),entityYaw(Player),entityRoll(Player)
moveentity object,0,0,4 ; Выдвигает его вперед на окружность поворота
pointentity object,CURSOR_MARK
moveentity object,0,0,1 ; двигает его в зависимости от скорости поворота=1
pointentity Player,object

Rotateentity player,0,entityYaw(player),entityRoll(player)

Сообщение отредактировал Enigma - Пятница, 10 Апреля 2009, 15:57
 
VitaliSimusДата: Суббота, 11 Апреля 2009, 19:51 | Сообщение # 7
Начинающий
Группа: Пользователи
Сообщений: 16
Награды: 0
Замечания: 0%
Статус:

Профессия: Моделлер , немного программист
Проектов: 2 в разработке
Такой вопрос:
Имеется объект А и Б. Они расположены в одних координатах. Объект А смотрит в одну сторону, объект Б в другую. Как определить угол между их направлениями взгляда, чтобы потом его использовать в условии.
 
VitaliSimusДата: Воскресенье, 12 Апреля 2009, 15:07 | Сообщение # 8
Начинающий
Группа: Пользователи
Сообщений: 16
Награды: 0
Замечания: 0%
Статус:

Профессия: Моделлер , немного программист
Проектов: 2 в разработке
(dot product?)

Это о чем?

 
VitaliSimusДата: Понедельник, 13 Апреля 2009, 06:36 | Сообщение # 9
Начинающий
Группа: Пользователи
Сообщений: 16
Награды: 0
Замечания: 0%
Статус:

Профессия: Моделлер , немного программист
Проектов: 2 в разработке
Ндааа……………
Я имел ввиду команду которая определит это сама (как например с дистанцией, EntityDistance).
 
VitaliSimusДата: Среда, 15 Апреля 2009, 21:19 | Сообщение # 10
Начинающий
Группа: Пользователи
Сообщений: 16
Награды: 0
Замечания: 0%
Статус:

Профессия: Моделлер , немного программист
Проектов: 2 в разработке
В максе сделал модель карты и наложил множество текстур.
Загрузил модель в блитц.
Вопрос: как сделать маску для всей модели. То есть чтоб автоматически весь цвет 0,0,0 стал прозрачным (или какой либо другой цвет, имеется ввиду чтоб можно было его задать).
 
dfДата: Четверг, 16 Апреля 2009, 19:00 | Сообщение # 11
Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
Тупой вопрос.
Как мне заставить врашатся одну сферу вокруг другой(неподвижной)(а так же еще одну вокруг нее)?



 
dfДата: Пятница, 17 Апреля 2009, 11:00 | Сообщение # 12
Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
Как заставить куб с текстурой(текс. чтобы просто знать что куб поворацивается) всегда быть одной стороной к какмере не зависимо от перемешения?
sweated Командой PointEntity что ли?





Сообщение отредактировал df - Пятница, 17 Апреля 2009, 11:31
 
dfДата: Пятница, 17 Апреля 2009, 14:54 | Сообщение # 13
Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
Quote
Может просто поворачивать его просто вместе с камерой?

Зачем мне это cool .
Я хочу сделать подобие меню ACE Onlain в котором выберается перс(корабль) за исключемнием одного(после выбора слота в ней не начинает врашатся перс). Перс как и часть опции(Сох.,Заг.,Выход должны быть всегда лицом у Игроку, а не врашатся вместе с поворотом круга)



 
dfДата: Понедельник, 20 Апреля 2009, 20:13 | Сообщение # 14
Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1

И так соствено вопрос(или что мы хоче, получить от этого)
1.Как сделать кнопку "создать"(из рисунка) и все такое(типа удалить и далее).
2.как сделать создания самого перса(ну само создание, с настройкой параметров)
3.Как сделать хранение всех персов(4 слота. После достижения определеного левала персов можно обеденять в пары итого 8 слотов для персов)
4.Выбор слота.
2.Выбор перса в слоте(ну собсвено кто ведуший, кто следом).

P.S.Да задал вопросик.
Прости те за наглость.



 
LordyДата: Пятница, 24 Апреля 2009, 11:21 | Сообщение # 15
Начинающий
Группа: Пользователи
Сообщений: 2
Награды: 0
Замечания: 0%
Статус:
У меня такой вопрос, при попытке компиляции в блице выдает ошибку следующего текста:
Error writing file "путь к блицу\Blitz 3d\tmp\tmp.bb"
Как исправить это?
Текст программы
Graphics 640, 480
Print Ceil("10.3")
Print Floor("10.3")
Print Int("10.3")
WaitKey()
Версия блица взята с этого сайта bash bash подскажите плиз
 
ImLSTДата: Воскресенье, 26 Апреля 2009, 15:21 | Сообщение # 16
Начинающий
Группа: Участники
Сообщений: 16
Награды: 0
Замечания: 0%
Статус:

Проектов: STALKING: Price of Curiosity
Помогите, плиз.
Мне надо сделать ограничение на вращение камеры в шутере от первого лица и у меня есть вот такой код:
Code

u#=30 ;предельный угол
TurnEntity player,my*0.2,0,0  
TurnEntity player,0,-mx*0.2,0
If Abs(EntityPitch#(player))>u# Then
RotateEntity player,u#*Sgn(EntityPitch#(player)),0,0
End If

Но при повороте камеры на 30 градусов она возвращается в положение y=0, но мне этого не надо, как исправить?? sad

 
VitaliSimusДата: Воскресенье, 26 Апреля 2009, 15:51 | Сообщение # 17
Начинающий
Группа: Пользователи
Сообщений: 16
Награды: 0
Замечания: 0%
Статус:

Профессия: Моделлер , немного программист
Проектов: 2 в разработке
ImLST
так попробуй

Global rotation1#=0

RotateEntity player,rotation1#,0,0

If rotation1>30 Then rotation1=30
If KeyDown(30) Then rotation1=rotation1+1
If rotation1<-30 Then rotation1=-30
If KeyDown(32) Then rotation1=rotation1-1

 
ImLSTДата: Воскресенье, 26 Апреля 2009, 16:14 | Сообщение # 18
Начинающий
Группа: Участники
Сообщений: 16
Награды: 0
Замечания: 0%
Статус:

Проектов: STALKING: Price of Curiosity
VitaliSimus, я переделал твой код вот так и всё получилось
Code

Global RotationY#=0  
Global RotationX#=0  

RotateEntity player,RotationY#,RotationX#,0  
If RotationY>30 Then RotationY=30  
If RotationY<-30 Then RotationY=-30  
RotationY=RotationY+my*0.2
RotationX=RotationX-mx*0.2

огромное тебе СПАСИБО good

 
ImLSTДата: Воскресенье, 26 Апреля 2009, 16:18 | Сообщение # 19
Начинающий
Группа: Участники
Сообщений: 16
Награды: 0
Замечания: 0%
Статус:

Проектов: STALKING: Price of Curiosity
Ещё вот такая проблема:
Если я поворачиваю камеру чтобы посмотреть вниз на ровной поверхности, то всё хорошо, НО если посмотреть вниз стоя на холме или горе, то руки и камера опустятся под землю. Как исправить? faint


Сообщение отредактировал ImLST - Воскресенье, 26 Апреля 2009, 16:19
 
dfДата: Воскресенье, 26 Апреля 2009, 19:53 | Сообщение # 20
Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
Gideon,
Quote
1.Как сделать кнопку "создать"(из рисунка) и все такое(типа удалить и далее).

Кнопка из риса.(рис кнопки с надписью "создать")



 
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск: