Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 21.03.2015, 16:35   #16
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Стрельба в игре

Если ты так решил аудио-игру, то тебе нужен 3d звук, делается через CreatListener , Load3DSound , EmitSound
Пример: http://www.blitzbasic.com/codearcs/codearcs.php?code=26
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Старый 21.03.2015, 17:57   #17
Артем Валерьевич
Бывалый
 
Аватар для Артем Валерьевич
 
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений
(для 1,079 пользователей)
Ответ: Стрельба в игре

человек же пишет он незрячий, а вы ему читай тутор....
__________________
http://forum.boolean.name/image.php?type=sigpic&userid=2247&dateline=1418298  527
(Offline)
 
Ответить с цитированием
Старый 21.03.2015, 18:02   #18
softcrasoft
Знающий
 
Регистрация: 21.03.2015
Сообщений: 262
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: Стрельба в игре

Ой Господи! Да знаю я про 3d звук! Я поэтому и выбрал blitz3d знакомые посоветовали, потому что там не нужны эти тупые вычисления! А вот со стрельбой я таки не пойму,ю если не разберусь, я оч расстроюсь, т.к у меня тока на блиц надежда
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Старый 21.03.2015, 18:47   #19
LLI.T.A.L.K.E.R.
Мастер
 
Аватар для LLI.T.A.L.K.E.R.
 
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений
(для 504 пользователей)
Ответ: Стрельба в игре

Для начала лучше использовать звуковой движок Blitz BASS 1.7 или поглядеть на Russian Sound System
Так как встроенное в Blitz 3д позиционирование звука ооочень примитивно.
(Offline)
 
Ответить с цитированием
Старый 21.03.2015, 19:31   #20
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: Стрельба в игре

Сообщение от LLI.T.A.L.K.E.R. Посмотреть сообщение
Для начала лучше использовать звуковой движок Blitz BASS 1.7 или поглядеть на Russian Sound System
Так как встроенное в Blitz 3д позиционирование звука ооочень примитивно.
Нет, Bass слишком старый, полностью корректно врапер работал только на XP.
На мой взгляд, оптимальный вариант BlitzAL (оу... сайт mirage-lab.com сдох)
Почему? Там проще всего разобраться.

BlitzAL.zip
Обновлённая dll, если не ошибаюсь многопоточная.

Russian Sound System
Разве она готова?

P. S.
Сообщение от softcrasoft Посмотреть сообщение
потому что там не нужны эти тупые вычисления!
Тупые вычисления нужны везде.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Старый 21.03.2015, 19:55   #21
softcrasoft
Знающий
 
Регистрация: 21.03.2015
Сообщений: 262
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: Стрельба в игре

Мне, примитивность и нужна!
Чтоб было прощеделать звуковую игру типа call of duty,ю но в открытом пространстве.
Я ща насчет стрельбы переживаю, а больше ничего не волнует
(Offline)
 
Ответить с цитированием
Старый 21.03.2015, 20:04   #22
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: Стрельба в игре

Сообщение от softcrasoft Посмотреть сообщение
Чтоб было прощеделать звуковую игру типа call of duty,ю но в открытом пространстве.
CoD не примитивен (техническая сторона), на открытом пространстве ещё больше проблем.
(Offline)
 
Ответить с цитированием
Старый 21.03.2015, 20:12   #23
softcrasoft
Знающий
 
Регистрация: 21.03.2015
Сообщений: 262
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: Стрельба в игре

Вообщем нужно такое:
Поле 50 на 50
там враги
все как в COd, но без зданий, укрытий, чтоб кто играет из незрячих было проще
делать куб я умею
работа со звуком тоже
осталось понять как делать карту 50 на 50
и как сделать стрельбу.
(Offline)
 
Ответить с цитированием
Старый 21.03.2015, 20:25   #24
LLI.T.A.L.K.E.R.
Мастер
 
Аватар для LLI.T.A.L.K.E.R.
 
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений
(для 504 пользователей)
Ответ: Стрельба в игре

Готовый проект:
(потребуется BlitzBASS1.7)

https://www.dropbox.com/s/p0g70w0huj9iqqw/Game.rar?dl=0
Include "Includes\Bass.bb"

Width=800 : Height=600
Width2=Width/2 : Height2=Height/2	;для середины экрана
Graphics3D Width,Height,32,2

;пояснения
;Type EnemyType	;для массива врагов
;	Field ent	;для модели врага
;	Field hp%	;для здоровья врага 
;	Field idle_delay	;как часто враг будет говорить

Type EnemyType
	Field ent
	Field hp%
	Field idle_delay
End Type

BASS_Init(-1,44100,BASS_DEVICE_3D,0,BASS_NULL)
BASS_CheckVersion()
BASS_Set3DFactors(-1,0.5,-1)
BASS_Apply3D()

Camera=CreateCamera()

Dim IdleSnd(3)	;рандомный массив голосов
Dim CrySnd(3)	;рандомный массив плача

IdleNum=1	;переменная чтобы следить, чтобы враги не повторяли фразы
IdleSnd(1)=BASS_StreamCreateFile(0,"Sounds\idle1.wav",0,0,BASS_SAMPLE_3D)
BASS_ChannelSetAttributes(IdleSnd(1),-1,200,-1)
IdleSnd(2)=BASS_StreamCreateFile(0,"Sounds\idle2.wav",0,0,BASS_SAMPLE_3D)
BASS_ChannelSetAttributes(IdleSnd(2),-1,200,-1)
IdleSnd(3)=BASS_StreamCreateFile(0,"Sounds\idle3.wav",0,0,BASS_SAMPLE_3D)
BASS_ChannelSetAttributes(IdleSnd(3),-1,200,-1)

CrySnd(1)=BASS_StreamCreateFile(0,"Sounds\Cry1.wav",0,0,BASS_SAMPLE_3D)
BASS_ChannelSetAttributes(CrySnd(1),-1,200,-1)
CrySnd(2)=BASS_StreamCreateFile(0,"Sounds\Cry2.wav",0,0,BASS_SAMPLE_3D)
BASS_ChannelSetAttributes(CrySnd(2),-1,200,-1)
CrySnd(3)=BASS_StreamCreateFile(0,"Sounds\Cry3.wav",0,0,BASS_SAMPLE_3D)
BASS_ChannelSetAttributes(CrySnd(3),-1,200,-1)

DieSnd=BASS_StreamCreateFile(0,"Sounds\die.wav",0,0,BASS_SAMPLE_3D)
BASS_ChannelSetAttributes(DieSnd,-1,200,-1)

For i=1 To 5	;создадим 5 врагов
	Enemy.EnemyType=New EnemyType
	Enemy\ent=CreateCube()
	PositionEntity Enemy\ent,Rnd(-100,100),0,Rnd(-100,100)
	EntityPickMode Enemy\ent,2	;делаем врага выбираемым
	NameEntity Enemy\ent,Handle(Enemy)	;называем модель врага ссылкой на ячейку врага
	Enemy\hp=100
	Enemy\idle_delay=Rand(300,1000)	;через сколько враг будет выговаривать фразу
Next

Const FPS%=60
period=1000/FPS
time=MilliSecs()-period

While Not KeyHit(1)

Repeat	;FPS limit
elapsed=MilliSecs()-time
Until elapsed
ticks=elapsed/period
tween#=Float(elapsed Mod period)/Float(period)
For k=1 To ticks	;FPS limit
time=time+period
	
	Speed=1	;для ускорения при нажатом Shift
	If KeyDown(42) Then Speed=2
	
	If KeyDown(200) Then MoveEntity Camera,0,0,0.1*Speed	;камера вперёд
	If KeyDown(208) Then MoveEntity Camera,0,0,-0.1*Speed	;камера назад
	
	If KeyDown(203) Then TurnEntity Camera,0,1*Speed,0		;камера влево
	If KeyDown(205) Then TurnEntity Camera,0,-1*Speed,0		;камера вправо
	
	If KeyHit(57) Then
		CameraPick(Camera,Width2,Height2)	;проверяем выборку по центру экрана
		ent=PickedEntity()	;присваиваем к ent что мы выбрали
		If ent<>0 Then	;если что-то выбрали
			If EntityDistance(ent,Camera)<10 Then	;если враг ближе 10 метров
				Enemy.EnemyType=Object.EnemyType(EntityName(ent))	;берём из имени ссылку на ячейку врага
				Enemy\hp=Enemy\hp-25	;вычитываем 25 здоровья
				
				CryNum%=Rand(1,3)	;выбираем разный номер плача
				BASS_ChannelSet3DPositionPos(CrySnd(CryNum),EntityX(Enemy\ent),EntityY(Enemy\ent),EntityZ(Enemy\ent)) ;помещаем звук плача где находится враг
				BASS_ChannelPlay(CrySnd(CryNum),True)	;играем звук плач
				
				If Enemy\hp<1 Then	;если у врага нет жизней
					BASS_ChannelSet3DPositionPos(DieSnd,EntityX(Enemy\ent),EntityY(Enemy\ent),EntityZ(Enemy\ent)) ;помещаем звук смерти где находится враг
					BASS_ChannelPlay(DieSnd,True)	;играем звук смерти
					
					FreeEntity Enemy\ent	;удаляем его модель
					Delete Enemy	;удаляем врага
				EndIf
			EndIf
		EndIf
	EndIf
	
	For Enemy.EnemyType=Each EnemyType	;цикл для каждого из врагов
		Enemy\idle_delay=Enemy\idle_delay-1
		
		If Enemy\idle_delay<1 Then	;если задержка для говора закончилась
			Enemy\idle_delay=Rand(300,1000)	;через сколько враг будет выговаривать фразу
			
			IdleNum=IdleNum+1	;выбираем следующий номер фразы
			If IdleNum>3 Then IdleNum=1
			BASS_ChannelSet3DPositionPos(IdleSnd(IdleNum),EntityX(Enemy\ent),EntityY(Enemy\ent),EntityZ(Enemy\ent)) ;помещаем звук где находится враг
			BASS_ChannelPlay(IdleSnd(IdleNum),True)	;играем звук говора 
		EndIf
	Next
	
	BASS_Update3DListener(Camera)	;обновляем звуковую позицию камеры
	BASS_Apply3D()	;применяем
	
	UpdateWorld()
Next ;end FPS limit

RenderWorld()
Flip()

Wend

End
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо LLI.T.A.L.K.E.R. за это полезное сообщение:
Arton (21.03.2015), Randomize (21.03.2015), tormoz (21.03.2015)
Старый 21.03.2015, 20:32   #25
softcrasoft
Знающий
 
Регистрация: 21.03.2015
Сообщений: 262
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: Стрельба в игре

а что такое blitzbase? и как я вижу там труднее со звуком, а мне желательно пример на blitz3d так как ео я изучал
(Offline)
 
Ответить с цитированием
Старый 21.03.2015, 20:42   #26
LLI.T.A.L.K.E.R.
Мастер
 
Аватар для LLI.T.A.L.K.E.R.
 
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений
(для 504 пользователей)
Ответ: Стрельба в игре

Всё остальное доступно в обучающих материалах Blitz3D.
Я быстренько выпилил часть нароботок из текущей своей игры.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com