forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Помогите разобраться с AShadow (http://forum.boolean.name/showthread.php?t=1460)

magpro 09.09.2006 00:12

Помогите разобраться с AShadow
 
Очень прошу помочь мне разобраться с AShadow. У меня есть какой то докавский туториал на русском языке, но он мне не очень понятен.

я прошу помочь мне с функциями и в написании основного тела программы.

заранее спасибо.
и простите что так мучаю форум. :@

НУБ 09.09.2006 01:29

Re: Помогите разобраться с AShadow
 
Что именно тебе не понятно?

magpro 09.09.2006 14:49

Re: Помогите разобраться с AShadow
 
Ну мне не понятно как строить игры с помощью него.

какой должен быть каркас программы?
Основные функции.

и всё пока.

НУБ 09.09.2006 20:53

Re: Помогите разобраться с AShadow
 
А какой тут карка то...
Назначаешь кастеры, ресиверы, рендеришь, всё :)
Чтоб проще было - юзай ф-ции с префиксом "А", если юзаешь собственный формат(моделей или карт) - предусмотри там параметр для теней...

magpro 09.09.2006 22:08

Re: Помогите разобраться с AShadow
 
Цитата:

кастеры, ресиверы, рендеришь,
это пожалуйста поподробнее :wallbash:

дай пожалуйста самый самый простой пример с коментариями если можешь.

tormoz 09.09.2006 23:52

Re: Помогите разобраться с AShadow
 
Млин, есть же семплы.
Там все предельно просто (я без хелпа тени прикрутил к проекту за 15 мин)
Тем более хелп достаточно полный и на русском языке.

magpro 10.09.2006 01:35

Re: Помогите разобраться с AShadow
 
Цитата:

Млин, есть же семплы.
Там все предельно просто (я без хелпа тени прикрутил к проекту за 15 мин)
Тем более хелп достаточно полный и на русском языке.

возможно у нас разные хэлпы.

И по подробнее как ты прикрутил к проекту за 15 мин тени? Я не доганяю и я прошу помощи :''((

НУБ 10.09.2006 03:44

Re: Помогите разобраться с AShadow
 
Как прикрутить тени за 15 мин. ?
- Юзать префикс "А" ( тебе возможно даже не понадобится других функций из библы ваобще)
В самом начале при инициализации графики пишем так:

AGraphics3D (видеорежим)

Назначаем свет:
Light = CreateSLight( 2, 100): PositionEntity Light,50,50,0
так мы создали свет, от которого будут строиться тени.

При загрузке(или создании) объектов:
ent = ALoadMeah ( "Mesh.3ds", 0, 2, 100)
pol = ACreatePlane ()
- Последние 3 параметра в ent это: парент(его нет, поэтому 0), затенение(2 - кастер, 1 - ресивер, 0 - незатеняться, у нас это кастер будет), длина тени( это нужно только для кастеров, можно ваобще 0 поставить, тогда библа сама длину выставит, но лучше самому;) )

В pol мы ничего не писали - там последние параметры по дефолту стоят 0,1,0 - то есть просто ресивер, нам это и нужно ;).

Далее рендерим:
ARenderWorld(Camera)

Вот и всё :)
Промежуточные объекты типа камеры и др. установки - как обычно...
Есть конечно команды для более детальной работы, они все описаны в хелпе, примеры - семплы(там рассмотрены 3 основных случая: один кастер, много кастеров и их копирование, анимированный кастер и его копирование).

magpro 10.09.2006 16:43

Re: Помогите разобраться с AShadow
 
И всё? Так просто, а я тему поднял СПАСИБО!

magpro 10.09.2006 23:11

Re: Помогите разобраться с AShadow
 
Отлично с тенями я разобрался.
Спасибо!

Помогите теперь с водой.

Ответ попрошу поподробней как сдесь
Цитата:

Как прикрутить тени за 15 мин. ?
- Юзать префикс "А" ( тебе возможно даже не понадобится других функций из библы ваобще)
В самом начале при инициализации графики пишем так:

AGraphics3D (видеорежим)

Назначаем свет:
Light = CreateSLight( 2, 100): PositionEntity Light,50,50,0
так мы создали свет, от которого будут строиться тени.

При загрузке(или создании) объектов:
ent = ALoadMeah ( "Mesh.3ds", 0, 2, 100)
pol = ACreatePlane ()
- Последние 3 параметра в ent это: парент(его нет, поэтому 0), затенение(2 - кастер, 1 - ресивер, 0 - незатеняться, у нас это кастер будет), длина тени( это нужно только для кастеров, можно ваобще 0 поставить, тогда библа сама длину выставит, но лучше самому;) )

В pol мы ничего не писали - там последние параметры по дефолту стоят 0,1,0 - то есть просто ресивер, нам это и нужно ;).

Далее рендерим:
ARenderWorld(Camera)

Вот и всё :)
Промежуточные объекты типа камеры и др. установки - как обычно...
Есть конечно команды для более детальной работы, они все описаны в хелпе, примеры - семплы(там рассмотрены 3 основных случая: один кастер, много кастеров и их копирование, анимированный кастер и его копирование).

Заранее спасибо

jimon 11.09.2006 14:57

Re: Помогите разобраться с AShadow
 
ответы состоящии из смайла(ов) запрещены правилами форума

magpro 12.09.2006 00:25

Re: Помогите разобраться с AShadow
 
Так что поможите с создание водных поверхностей? или все пас?

jimon 12.09.2006 00:31

Re: Помогите разобраться с AShadow
 
там что примера нету ?

magpro 12.09.2006 22:22

Re: Помогите разобраться с AShadow
 
нет

НУБ 14.09.2006 01:39

Re: Помогите разобраться с AShadow
 
Хай, я вернулся :)
magpro:
Там целых 2 подробных примера конкретно с водой и 1 пример, того, что с её помощью можно сделать дополнительно. В хелпе есть подробное описание на русском(!) всех водных функций и всех параметров для воды.
Так что я не знаю что ещё написать, вроде всё должно быть понятно(я для этого специально настройки для воды как структуру оформил)

magpro 14.09.2006 21:44

Re: Помогите разобраться с AShadow
 
Спасибо! Всё разобрал)

magpro 14.09.2006 21:45

Re: Помогите разобраться с AShadow
 
Спасибо! я вроде разобрался!

Mustang_GT 22.01.2010 15:42

Ответ: Помогите разобраться с AShadow
 
У меня вопросы:
Что такое кастер и ресивер

И при создании меша XXX = ALoadMesh("XXX.3ds",0,2,100) вылетает ошибка : ERROR: Caster 1. Limit Exceed! Entity CountTriangeles(12721) > 10500. Может либа битая? Или причина в другом?

St_AnGer 22.01.2010 15:55

Ответ: Помогите разобраться с AShadow
 
Entity CountTriangeles(12721) > 10500

Слишком много треугольников в модели. Уменьши детальность.

Либа рабочая, я с неё сам начинал

Mustang_GT 22.01.2010 15:58

Ответ: Помогите разобраться с AShadow
 
Сейчас испробую. А что такое расиверы и кастеры? Тока по русски, пожалуйста )))

Nuprahtor 22.01.2010 15:58

Ответ: Помогите разобраться с AShadow
 
Никогда с AShadow не работал, но попробую угадать - кастер - это объект, который кастует что-либо, в данном случае от него направляются тени, а ресивер эти самые тени получяет и отображает.
Цитата:

XXX = ALoadMesh("XXX.3ds",0,2,100) вылетает ошибка : ERROR: Caster 1. Limit Exceed! Entity CountTriangeles(12721) > 10500
А тут русским языком написано, что исчерпан лимит треугольников (максимум десять тысяч пятьсот, а в загружаемой модели - двенадцать тысяч семьсот двадцать один треугольник)

Mustang_GT 22.01.2010 16:07

Ответ: Помогите разобраться с AShadow
 
Всё ясно) А что такое парент? И при уменьшении полигонов модели наблюдаются жуткие глюки в изображении. Из-за чего это может быть?

St_AnGer 22.01.2010 16:15

Ответ: Помогите разобраться с AShadow
 
Парент - родитель объекта. К нему можно привязать объект (т.е. будешь двигать/поворачивать/изменять размер объекта парент, и всё что к нему привязано будет тоже двигаться/поворачиваться/изменяться, но в его координатных осях).
На счёт полигонов не знаю, может что то криво убирается...

Mustang_GT 23.01.2010 10:09

Ответ: Помогите разобраться с AShadow
 
всё равно не понятно. Тени не показываются. Вот примитивный код:

Include "Ashadow.bb"

DrawProgress=1

AGraphics3D 0,0,0,1

AmbientLight 50,50,70

SetBuffer BackBuffer()


cam=CreateCamera()
light=CreateLight(2)
SetSLight(light,2)
PositionEntity light,5,10,0
PositionEntity cam,5,0,0
TurnEntity cam,0,180,0
Lsphere=ACreateSphere(4,light,0)
EntityFX Lsphere,1


Sf = ACreateSphere (32)
Pl = ACreatePlane ()
PositionEntity Pl,0,-5,0
CreateReceiver(Pl,reciv=1)


Repeat

mouselook(cam)

UpdateWorld()
ARenderWorld(cam)
PostProcess_Render(cam)
Flip 0

Until KeyHit(1)
End


Function mouselook(ent)
mxspd#=MouseXSpeed()*0.25
myspd#=MouseYSpeed()*0.25
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
campitch#=EntityPitch(ent)+myspd#
If campitch#<-85 Then campitch#=-85
If campitch#>85 Then campitch#=85
RotateEntity ent,campitch#,EntityYaw(ent)-mxspd#,EntityRoll(ent)
End Function

Кто-нить может его поправить, чтобы тени показывались? И тем самым объяснить мне, как это делается.

St_AnGer 23.01.2010 13:14

Ответ: Помогите разобраться с AShadow
 
Код:

Graphics3D 0,0,0,1                        ;===== изменённая строка

Include "Ashadow.bb"
InitShadowLib()                        ;===== изменённая строка

SoftSelfShading=0                        ;===== изменённая строка
ZfailMode=1                        ;===== изменённая строка

DrawProgress=1
AmbientLight 50,50,70

SetBuffer BackBuffer()


cam=CreateCamera()
light=CreateLight(2)
GlobalSLight(light,2)                        ;===== изменённая строка
PositionEntity light,5,10,0
PositionEntity cam,5,0,0
TurnEntity cam,0,180,0
Lsphere=CreateSphere(4,light)
EntityFX Lsphere,1


Sf = CreateSphere (8)
CreateCaster sf                        ;===== изменённая строка

Pl = CreatePlane ()
PositionEntity Pl,0,-5,0
CreateReceiver(Pl,1)                        ;===== изменённая строка


Repeat
       
        mouselook(cam)
       
        UpdateWorld()
       
                UpdateShadows cam                        ;===== изменённая строка
       
                ARenderWorld(cam,1,0.6)                        ;===== изменённая строка         
               
                PostProcess_Render(cam)
               
        Flip
       
Until KeyHit(1)
End


Function mouselook(ent)
        mxspd#=MouseXSpeed()*0.25
        myspd#=MouseYSpeed()*0.25
        MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
        campitch#=EntityPitch(ent)+myspd#
        If campitch#<-85 Then campitch#=-85
        If campitch#>85 Then campitch#=85
        RotateEntity ent,campitch#,EntityYaw(ent)-mxspd#,EntityRoll(ent)
End Function


всё что изменил или добавил - подписано. Смотри. У меня это работает корректно.

Colossus 24.01.2010 14:42

Ответ: Помогите разобраться с AShadow
 
а как сделать тень на аним меш??? :SOS: я чото всю голову из№?*л как но не мойму ставлю LoadAnimMesh("Чувак",0,2)
и нифига, тень строится, только она не повторяет движения меша, а просто как лайтмап... как будто простой меш стоит

Mustang_GT 24.01.2010 21:16

Ответ: Помогите разобраться с AShadow
 
Ещё вопрос: Сколько может быть кастеров одновременно? И если 2 объекта "совпадают" частично, т.е. частично "один в другом", то как у них обстоит вопрос с тенями?

St_AnGer 24.01.2010 21:34

Ответ: Помогите разобраться с AShadow
 
Цитата:

Mustang_GT

...И если 2 объекта "совпадают" частично, т.е. частично "один в другом", то как у них обстоит вопрос с тенями?
тени обсчитываются как и должны.

St_AnGer 24.01.2010 21:36

Ответ: Помогите разобраться с AShadow
 
Цитата:

Сообщение от Colossus (Сообщение 134630)
а как сделать тень на аним меш??? :SOS: я чото всю голову из№?*л как но не мойму ставлю LoadAnimMesh("Чувак",0,2)
и нифига, тень строится, только она не повторяет движения меша, а просто как лайтмап... как будто простой меш стоит

Хм... Если мне не изменяет память - в AShadow нельзя сделать тень повторяющую анимацию объекта... Но я точно не помню

St_AnGer 24.01.2010 21:39

Ответ: Помогите разобраться с AShadow
 
Цитата:

Сообщение от Mustang_GT (Сообщение 134680)
Ещё вопрос: Сколько может быть кастеров одновременно?...

попробовал создать много кастеров... Могу сделать вывод, что кастеров может быть очень много... :) лишь бы твоя система это потянула... моя 8800 начала умирать при 2300 кастерах в камере :) За кастеры брал простые сферы


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

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