forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   РПГ (http://forum.boolean.name/showthread.php?t=1840)

ParaSenok 04.11.2006 15:23

РПГ
 
люди..помогите с рпг, я не могу понять как сделать чтоб мэш двигался туда куда я ткнул мышкой..... можете плз на примере движения бокса объяснить?

Horror 04.11.2006 18:28

Re: РПГ
 
попробуй так
Цитата:

Graphics3D 800,600,32,2
SetBuffer BackBuffer()
Type TPlayer
Field ent
Field piv
Field go
End Type
Global campiv=CreatePivot()
PositionEntity campiv,0,300,0
Global cam=CreateCamera(campiv)
TurnEntity cam,45,0,0
CameraRange cam ,1,10000
CreateLight(3,cam)
plane=CreatePlane()
EntityPickMode plane,2
planetex=CreatePlaneTexture()
ScaleTexture planetex,100,100
EntityTexture plane,planetex
Global Player.TPlayer=CreatePlayer()
Repeat
If MouseDown(1) Then
pick=CameraPick(cam,MouseX(),MouseY())
If pick=plane Then
PositionEntity Player\piv,PickedX(),20,PickedZ()
Player\go=True
EndIf
EndIf
UpdatePlayer(Player)
CameraUpdate()
RenderWorld
Flip
Until KeyDown(1)
Function CreatePlaneTexture()
Local tex=CreateTexture(128,128)
Local buff=GraphicsBuffer()
SetBuffer TextureBuffer(tex)
Color 66,122,185
Rect 0,0,64,64
Rect 64,64,128,128
Color 183,234,247
Rect 64,0,128,64
Rect 0,64,64,128
SetBuffer buff
Return tex
End Function
Function CreatePlayer.TPlayer()
p.TPlayer=New TPlayer

p\ent=CreateCone()
RotateMesh p\ent,90,0,0
ScaleEntity p\ent,20,20,20
TranslateEntity p\ent,0,20,200
EntityColor p\ent,167,121,168
p\piv=CreatePivot()

Return p
End Function
Function CameraUpdate()
Local sp
If KeyDown(42) Then sp=3 Else sp=1
If KeyDown(17) Then MoveEntity campiv,0,0,sp
If KeyDown(31) Then MoveEntity campiv,0,0,-sp
If KeyDown(30) Then MoveEntity campiv,-sp,0,0
If KeyDown(32) Then MoveEntity campiv,sp,0,0
End Function
Function UpdatePlayer(p.TPlayer)
If Not p\go Then Return
PointToEntity(p\ent,p\piv,0.05)
MoveEntity p\ent,0,0,1
If EntityDistance(p\ent,p\piv)<6 Then p\go=False
End Function
Function PointToEntity( src, dest, softness# )

Local dx# = EntityX( src ) - EntityX( dest )
Local dy# = EntityY( src ) - EntityY( dest )
Local dz# = EntityZ( src ) - EntityZ( dest )

AlignToVector( src, -dx, -dy, -dz, 0, softness )
End Function

ParaSenok 04.11.2006 20:23

Re: РПГ
 
2 Horror спасибо тебе бальшое.....

ParaSenok 09.11.2006 17:05

Re: РПГ
 
народ... может кто нить подкинуть исходники какой нить 3д рпг или линк где можно его взять.. для примера.. покавыряться в коде чтоб разобраться с некоторыми деталями

и ещё... есть у каво нить анимированный человек для 3дмакса..?ну или хотяб просто с костями чтоб был....

c0mrad 09.11.2006 17:20

Re: РПГ
 
Biped :lol:

Смотреть в сторону Poser и CreatureCreator

ParaSenok 09.11.2006 20:07

Re: РПГ
 
CreatureCreator нетуу под 8 макс ((((((((((

moka 10.11.2006 14:22

Re: РПГ
 
Насчёт просьбы исходника:
Исходя по первому вопросу, нету опыта, так вот советую: стандартные сэмплы и хэлпы, разбери их и пережуй, там столько полезного! =)
Да и хэлп отличная штука!

avel 15.11.2006 02:26

Re: РПГ
 
Используй CameraPick() и EntityDistance().


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

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