|
3D-программирование Вопросы, касающиеся программирования 3D мира |
04.11.2006, 15:23
|
#1
|
AnyKey`щик
Регистрация: 30.10.2006
Сообщений: 16
Написано 0 полезных сообщений (для 0 пользователей)
|
РПГ
люди..помогите с рпг, я не могу понять как сделать чтоб мэш двигался туда куда я ткнул мышкой..... можете плз на примере движения бокса объяснить?
|
(Offline)
|
|
04.11.2006, 18:28
|
#2
|
Бывалый
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений (для 110 пользователей)
|
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,12
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
|
|
(Offline)
|
|
04.11.2006, 20:23
|
#3
|
AnyKey`щик
Регистрация: 30.10.2006
Сообщений: 16
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: РПГ
2 Horror спасибо тебе бальшое.....
|
(Offline)
|
|
09.11.2006, 17:05
|
#4
|
AnyKey`щик
Регистрация: 30.10.2006
Сообщений: 16
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: РПГ
народ... может кто нить подкинуть исходники какой нить 3д рпг или линк где можно его взять.. для примера.. покавыряться в коде чтоб разобраться с некоторыми деталями
и ещё... есть у каво нить анимированный человек для 3дмакса..?ну или хотяб просто с костями чтоб был....
|
(Offline)
|
|
09.11.2006, 17:20
|
#5
|
Разработчик
Регистрация: 08.06.2006
Сообщений: 412
Написано 13 полезных сообщений (для 4 пользователей)
|
Re: РПГ
Biped
Смотреть в сторону Poser и CreatureCreator
|
(Offline)
|
|
09.11.2006, 20:07
|
#6
|
AnyKey`щик
Регистрация: 30.10.2006
Сообщений: 16
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: РПГ
CreatureCreator нетуу под 8 макс ((((((((((
|
(Offline)
|
|
10.11.2006, 14:22
|
#7
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: РПГ
Насчёт просьбы исходника:
Исходя по первому вопросу, нету опыта, так вот советую: стандартные сэмплы и хэлпы, разбери их и пережуй, там столько полезного! =)
Да и хэлп отличная штука!
|
(Offline)
|
|
15.11.2006, 02:26
|
#8
|
Бывалый
Регистрация: 12.10.2006
Сообщений: 737
Написано 131 полезных сообщений (для 452 пользователей)
|
Re: РПГ
Используй CameraPick() и EntityDistance().
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:31.
|