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 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, время: 13:11.

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