[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Персонажи
DogДата: Понедельник, 25 Февраля 2008, 11:32 | Сообщение # 1
Начинающий
Группа: Пользователи
Сообщений: 16
Награды: 0
Замечания: 0%
Статус:
Я скачал Блиц 3Д,мож как ниб за место куба персонажа вставить который уже на компе???
 
RWSДата: Понедельник, 25 Февраля 2008, 15:05 | Сообщение # 2
Бывалый
Группа: Участники
Сообщений: 61
Награды: 0
Замечания: 20%
Статус:
BMX , гляжу умный стал biggrin
Вот смотри пример с LoadMesh
Code
Graphics3D 640,480  
SetBuffer BackBuffer()  
camera=CreateCamera()  
light=CreateLight()  
RotateEntity light,90,0,0  
; Загружаем модель  
drum=LoadMesh("media/oil-drum/oildrum.3ds")  
PositionEntity drum,0,0,MeshDepth(drum)*2  (устонавливаем позицию)
While Not KeyDown( 1 )  
RenderWorld  
Flip  
Wend  
End

Вот пример если тебе надо загрузить анимированную моделm:
Code
Graphics3D 640,480  
SetBuffer BackBuffer()  

camera=CreateCamera()  
PositionEntity camera,0,20,-100 ; позиционируем камеру, чтобы видеть робота  

light=CreateLight()  
RotateEntity light,90,0,0  

; Загружаем анимированную модель  
robot=LoadAnimMesh("media/makbot/mak_robotic.3ds")  

; Включаем анимацию 2. Она обновляется при выполнении команды UpdateWorld  
Animate robot,2  

While Not KeyDown(1)  

UpdateWorld ; Обновление анимации - без этой команды модель будет неподвижна  
RenderWorld ; Визуализация - просчет изображения  
Flip ; картинку - на экран  

Wend  

End

Вот тебе щас список команд дам, которые тебе понадобяться в ближайщее время:
Collisions-Включает столкновения между двумя различными типами объектов.

Типы объектов - это номера, которые вы устанавливаете объекту при помощи комманды EntityType. Blitz использует типы объектов для проверки столкновений между всеми объектами, имеюшими данный тип.

Blitz имеет много вариантов проверки столкновений, для этого используется параметр method. Однако, проверка столкновений осуществляется всегда как эллипсоид-к-чему-либо. Для того, чтобы Blitz знал, каков размер объекта, проверяемого на столкновения, Вы должны сначала установить радиус этого объекта при помощи команды EntityRadius.

При установленном методе обработки столкновений эллипсоид-к-эллипсоиду (method=1), объектам, с которыми будут обрабатываться столкновения, тоже необходимо установить радиус (EntityRadius). При установленном методе обработки столкновений эллипсоид-к-паралелепипеду (method=3), объектам, с которыми будут обрабатываться столкновения, тоже необходимо установить габаритный контейнер или просто паралелепипед (EntityBox). При использовании метода эллипсоид-к-полигону (method=2) Вам не нужно определять ни радиус, ни габаритный контейнер.

Blitz не только определяет столкновения, но и определяет взаимодействия между ними. Для этого используется параметр response. У Вас есть три варианта взаимодействий: 1-остановка объекта, 2-полное скольжение объекта, 3-скольжение только вверх.

Проверка столкновений и взаимодействие объектов осуществляются при вызове функции UpdateWorld.

И, наконец, всякий раз, когда используется комманда Collisions, информация о столкновениях добавляется в список, содержащий информацию о столкновениях, который может быть очищен в любое время с использованием команды ClearCollisions.
Пример:
; Пример Collisions
; ------------------

Code
Graphics3D 640,480  
SetBuffer BackBuffer()  

; Установка типов столкновений  
type_ground=1  
type_character=2  
type_scenery=3  

camera=CreateCamera()  
RotateEntity camera,45,0,0  
PositionEntity camera,0,15,-10  

light=CreateLight()  
RotateEntity light,45,0,0  

; Создать куб 'земля'  
cube=CreateCube()  
ScaleEntity cube,10,10,10  
EntityColor cube,0,127,0  
EntityType cube,type_ground  
PositionEntity cube,0,-5,0  

; Создать сферу 'персонаж'  
sphere=CreateSphere( 32 )  
EntityColor sphere,127,0,0  
EntityRadius sphere,1  
EntityType sphere,type_character  
PositionEntity sphere,0,7,0  

; Разрешить столкновения между type_character и type_ground  
Collisions type_character,type_ground,2,2  

; Создать цилиндр 'препятствие'  
cylinder=CreateCylinder( 32 )  
ScaleEntity cylinder,2,2,2  
EntityColor cylinder,0,0,255  
EntityRadius cylinder,2  
EntityBox cylinder,-2,-2,-2,4,4,4  
EntityType cylinder,type_scenery  
PositionEntity cylinder,-4,7,-4  

; Создать конус 'препятствие'  
cone=CreateCone( 32 )  
ScaleEntity cone,2,2,2  
EntityColor cone,0,0,255  
EntityRadius cone,2  
EntityBox cone,-2,-2,-2,4,4,4  
EntityType cone,type_scenery  
PositionEntity cone,4,7,-4  

; Создать призму 'препятствие'  
prism=CreateCylinder( 3 )  
ScaleEntity prism,2,2,2  
EntityColor prism,0,0,255  
EntityRadius prism,2  
EntityBox prism,-2,-2,-2,4,4,4  
EntityType prism,type_scenery  
PositionEntity prism,-4,7,4  
RotateEntity prism,0,180,0  

; Создать пирамиду'препятствие'  
pyramid=CreateCone( 4 )  
ScaleEntity pyramid,2,2,2  
EntityColor pyramid,0,0,255  
EntityRadius pyramid,2  
EntityBox pyramid,-2,-2,-2,4,4,4  
EntityType pyramid,type_scenery  
RotateEntity pyramid,0,45,0  
PositionEntity pyramid,4,7,4  

; Установка метода проверки столкновений и response  
method=2  
response=2  

method_info$="ellipsoid-to-polygon"  
response_info$="slide1"  

While Not KeyDown( 1 )  

x#=0  
y#=0  
z#=0  

If KeyDown( 203 )=True Then x#=-0.1  
If KeyDown( 205 )=True Then x#=0.1  
If KeyDown( 208 )=True Then z#=-0.1  
If KeyDown( 200 )=True Then z#=0.1  

MoveEntity sphere,x#,y#,z#  
MoveEntity sphere,0,-0.02,0 ; gravity  

; Выбор метода проверки столкновений  
If KeyHit( 50 )=True  
method=method+1  
If method=4 Then method=1  
If method=1 Then method_info$="ellipsoid-to-sphere"  
If method=2 Then method_info$="ellipsoid-to-polygon"  
If method=3 Then method_info$="ellipsoid-to-box"  
EndIf  

; Выбор реакции на столкновение( response)  
If KeyHit( 19 )=True  
response=response+1  
If response=4 Then response=1  
If response=1 Then response_info$="stop"  
If response=2 Then response_info$="slide1"  
If response=3 Then response_info$="slide2"  
EndIf  

; Разрешить столкновения между between type_character и type_scenery  
Collisions type_character,type_scenery,method,response  

; Обработать столкновения  
UpdateWorld  

RenderWorld  

Text 0,0,"Use cursor keys to move sphere"  
Text 0,20,"Press M to change collision Method (currently: "+method_info$+")"  
Text 0,40,"Press R to change collision Response (currently: "+response_info$+")"  
Text 0,60,"Collisions type_character,type_scenery,"+method+","+response  

Flip  

Wend  

End  

CreateCamera -Создает камеру и возвращает указатель на нее.

Вы должны иметь по крайней мере одну камеру, чтобы увидеть что-нибудь в Вашем трехмерном мире. Более чем с одной камерой, Вы сможете сделать эффекты мультиэкрана или реалистичных зеркал.

Камера может выводить изображение только в backbuffer. Если Вы хотите наложить 3D-изображение на рисунок или текстуру, тогда копируйте содержимое backbuffer-а в соответствующий буфер текстуры или изображения.

Дополнительный родительский параметр позволяет Вам определять родительский объект для камеры так, чтобы, когда родитель будет перемещен, дочерняя камера будет двигаться вместе с ним. Однако, эта зависимость - односторонняя: применение команд движения к дочернему объекту не будет затрагивать родителя.

Если родительский объект указан, камера появится в координатах 0,0,0 относительно позиции родительского объекта (локальная система координат, привязанная к родительскому объекту).

; Пример CreateCamera
; --------------------

Code
Graphics3D 640,480  
SetBuffer BackBuffer()  

; Создаем камеру  
camera=CreateCamera()  

light=CreateLight()  

cone=CreateCone()  
PositionEntity cone,0,0,5  

While Not KeyDown( 1 )  
RenderWorld  
Flip  
Wend  

End


http://blitz3d.mixbb.ru - форум по с++ и blitz3d.
 
DogДата: Понедельник, 25 Февраля 2008, 16:13 | Сообщение # 3
Начинающий
Группа: Пользователи
Сообщений: 16
Награды: 0
Замечания: 0%
Статус:
RWS, Спасибо тебе огромное
 
RWSДата: Понедельник, 25 Февраля 2008, 16:17 | Сообщение # 4
Бывалый
Группа: Участники
Сообщений: 61
Награды: 0
Замечания: 20%
Статус:
Да, ладно.

http://blitz3d.mixbb.ru - форум по с++ и blitz3d.
 
DogДата: Вторник, 26 Февраля 2008, 08:14 | Сообщение # 5
Начинающий
Группа: Пользователи
Сообщений: 16
Награды: 0
Замечания: 0%
Статус:
вот скачайте картинку и посмтрите что получилось,помогите
Прикрепления: blitzcc2008-02-.rar (3.9 Kb)
 
RWSДата: Вторник, 26 Февраля 2008, 10:17 | Сообщение # 6
Группа: Гости





А что тебя не устраивает? Выложи код , и скажи чё надо.
 
DogДата: Вторник, 26 Февраля 2008, 11:04 | Сообщение # 7
Начинающий
Группа: Пользователи
Сообщений: 16
Награды: 0
Замечания: 0%
Статус:
ДА МНЕ НУЖНО ЧТОБЫ ПОВЕРТИКАЛИ БЫЛ ГОЛОВОЙ ВПЕРЕД wacko
 
RWSДата: Вторник, 26 Февраля 2008, 11:51 | Сообщение # 8
Бывалый
Группа: Участники
Сообщений: 61
Награды: 0
Замечания: 20%
Статус:
Код в студию. biggrin

http://blitz3d.mixbb.ru - форум по с++ и blitz3d.
 
ГостьДата: Четверг, 06 Марта 2008, 21:31 | Сообщение # 9
Группа: Гости





Dog, учи RTFM!!!!!! Юзай RotateEntity.
 
ГостьДата: Понедельник, 24 Марта 2008, 18:14 | Сообщение # 10
Группа: Гости





Ребята не знаете есть ли в Blitz3d столкновения анимации из анимацией(всмысле модели), а то я вот делаю игруху и очень наду узнать!!!
 
ГостьДата: Понедельник, 24 Марта 2008, 19:07 | Сообщение # 11
Группа: Гости





столкновения анимированных моделей ты не сделаешь - токо обходными путями
 
DarkMedveDДата: Вторник, 25 Марта 2008, 10:08 | Сообщение # 12
Профи
Группа: Участники
Сообщений: 260
Награды: 0
Замечания: 0%
Статус:

Профессия: Програмист,немного моделлер
Команда: Сам Себе НачальниГ
Проектов: 2
а что нажно для столкновении модели + модели и чтобы переменная изменилась


Это и есть Zoom-Zoom
 
  • Страница 1 из 1
  • 1
Поиск: