Разработчик
Регистрация: 12.10.2008
Адрес: Самара
Сообщений: 437
Написано 55 полезных сообщений (для 92 пользователей)
|
Разрабам
Здравствуйте, уважаемые товарищи разработчики Xors3d!
у меня небольшая непонятка - к примеру:
написал такой код - пикаем кубик и на месте пика создается декаль(дырка от пули)(AlignToVectot и все такое)
переписал ето дело на }{ers3D и все работает косячно - декаль не алигнится по вектору, она создается в месте пика но не припарентивается к объекту пика... ет же полный пэ...
что же это? мои кривые руки или недоделка Xors3d?
Вот собственно все ето:
Код Блица
Graphics3D 1024,768,32,2
SetBuffer BackBuffer()
Camera = CreateCamera()
PositionEntity Camera,5,2,-10
Hole1=LoadSprite("Media\Gfx\Decal\Metall\Hole1.png",2)
HideEntity Hole1
pivot = CreatePivot()
CreateLight%()
Cube = CreateCube()
EntityPickMode Cube,2
While Not KeyHit(1)
If MouseHit(1) Then
CameraPick(Camera,MouseX(),MouseY())
If PickedEntity() <> 0 Then
MakeHole(Hole1,pivot,5)
End If
End If
RenderWorld
Text 5,5,"PickedNX : "+PickedNX()
Text 5,25,"PickedNY : "+PickedNY()
Text 5,45,"PickedNZ : "+PickedNZ()
Flip
Wend
End
Function MakeHole(hole%,lvlpivot%,maxdecals%)
hole=CopyEntity(hole,lvlpivot)
SpriteViewMode hole,2
ScaleSprite hole,0.1,0.1
PositionEntity hole,PickedX(),PickedY(),PickedZ(),True
RotateSprite hole,Rnd(0,360)
AlignToVector(hole,-PickedNX(),-PickedNY(),-PickedNZ(),3)
MoveEntity hole,0,0,-0.05
If CountChildren(lvlpivot)>maxdecals Then FreeEntity GetChild(lvlpivot,1)
End Function
и код Xors3D
Include "xors3d.bb"
xGraphics3D 1024,768,32,False,True
xSetBuffer xBackBuffer()
Camera = xCreateCamera()
xPositionEntity Camera,5,2,-10
Hole1=xLoadSprite("Media\Gfx\Decal\Metall\Hole1.png",2)
xHideEntity Hole1
pivot = xCreatePivot()
xCreateLight%()
Cube = xCreateCube()
xEntityPickMode Cube,2
While Not xKeyHit(1)
If xMouseHit(1) Then
xCameraPick(Camera,xMouseX(),xMouseY())
If xPickedEntity() <> 0 Then
MakeHole(Hole1,pivot,5)
End If
End If
xRenderWorld
xText 5,5,"xPickedNX : "+xPickedNX()
xText 5,25,"xPickedNY : "+xPickedNY()
xText 5,45,"xPickedNZ : "+xPickedNZ()
xFlip
Wend
End
Function MakeHole(hole%,lvlpivot%,maxdecals%)
hole=xCopyEntity(hole,lvlpivot)
xSpriteViewMode hole,4
xScaleSprite hole,0.1,0.1
xPositionEntity hole,xPickedX(),xPickedY(),xPickedZ(),True
xRotateSprite hole,Rnd(0,360)
xAlignToVector(hole,-xPickedNX(),-xPickedNY(),-xPickedNZ(),3)
xMoveEntity hole,0,0,-0.05
If xCountChildren(lvlpivot)>maxdecals Then xFreeEntity xGetChild(lvlpivot,0)
End Function
помоему все одинаково но на Xors3d не работает...
__________________
Пекарня: Intel Core i3 - 3240(3.40Ghz), ram 8 gb, video Gigabyte Nvidia GeForce GTX 650 1gb
Лэптоп : Intel Core i3 - 2365(1.40Ghz), ram 4gb, video Int Intel HD3000(512mb)
Мой набор: 3ds Max 9 + Xors3d(Blitz3d) + Photoshop
|