Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.

  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
Python

Pobranie pozycji przed/za danym obiektem

python

  • Zamknięty Temat jest zamknięty
5 odpowiedzi w tym temacie

#1 FejmZPolski

    Banned

  • Zbanowany

Reputacja: 38
Życzliwy

  • Postów:59
  • Imię:Brak
Offline

Napisano 27.02.2015 23:50

Cześć, korzystam z Silnika Panda3D, jednak to mało ważne..
Mam pewien model, i ten model ma pozycje X,Y,Z oraz Angles H,P,R
Teraz chcę ustawić widok kamery zza trzeciej osoby ( O określoną jednostkę ), dlatego powinienem użyć funkcji trygonometrycznych, jednak nie bardzo 'zapan brat'
Jak to zrobić ?
wyszmerałem coś takiego, jednak nie powiedzmy lekko: nie działa

Jestem w technikum, ale jezscze nie mialem w ogole lecji na temat sin/cos [na internecie dziwnie tlumaczy]

def spinCameraTask(self, task):

pozycja = self.pandaActor.getPos()
kat = self.pandaActor.getHpr()

dist = 0
origin = pozycja

if dist is not 0:
origin[0] = pozycja[0] + dist * abs(cos(kat[0]))
origin[1] = pozycja[1] + dist * abs(sin(kat[0]))

origin[2] = 100

self.camera.setPos(origin)

kat[0] = (180 - (self.pandaActor.getH()*-1))
kat[1] = -20
self.camera.setHpr(kat)

return Task.cont



Starałem się coś wykombinowac jak tutaj: http://amxx.pl/topic...rzedza-graczem/

Użytkownik Niewidzialny edytował ten post 27.02.2015 23:53

Droga hierarchio, chciałem pomóc. !

#2 WeBsteR

    Wszechwidzący

  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:297
  • Imię:dawid
  • Lokalizacja:Rzeszów
Offline

Napisano 28.02.2015 09:46

Hmm może ten temat coś  Cię naprowadzi:

  http://amxx.pl/topic...dok-zza-pleców/

lub

  http://amxx.pl/topic/299-viewmode-v2/


  • +
  • -
  • 0
Zabijaka Gryps to mój autorytet!

#3 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6033
Godlike

  • Postów:10832
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 28.02.2015 12:41

z angles wyliczasz wektor znormalizowany potem negujesz go potem mnożysz przez skalar czyli odległość tutaj i dodajesz do bazowego origin i tyle :P


  • +
  • -
  • 0

#4 FejmZPolski

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 38
Życzliwy

  • Postów:59
  • Imię:Brak
Offline

Napisano 28.02.2015 14:52

        origin = self.pandaActor.getPos()
    angles = self.pandaActor.getHpr()

    angles[1] -= 90

    output = origin
    
    origin[2] += 10
    
    dist = -10
    
    output[0] = origin[0] + dist * cos(angles[1]) * abs(cos(angles[0]))
        output[1] = origin[1] + dist * sin(angles[1]) * abs(cos(angles[0]))
        output[2] = origin[2] + dist * sin(angles[0])

    base.camera.setPos(output)
    base.camera.setHpr(self.pandaActor.getHpr())

Szmeram, szmeram i nic... Kamera stoi w miejscu..


Droga hierarchio, chciałem pomóc. !

#5 FejmZPolski

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 38
Życzliwy

  • Postów:59
  • Imię:Brak
Offline

Napisano 28.02.2015 15:12

Edit: nie moge edytować posta, a jest to ważna informacja :

 

    origin = self.pandaActor.getPos()
    angles = self.pandaActor.getHpr()

    output = origin
    
    origin[2] += 20
    
    dist = -30
    dist*=-1

    output[1] = origin[1] + dist * cos(angles[1]) * abs(cos(angles[0]))
    output[0] = origin[0] + dist * sin(angles[1]) * abs(cos(angles[0]))
    output[2] = origin[2] + dist * sin(angles[0])

    self.camera.setPos(output)
    self.camera.setHpr(((180 - (angles[0]*-1)), -30, angles[2]))
    return Task.cont

efekt: http://www.speedysha.../aDUpb/amxx.exe


Droga hierarchio, chciałem pomóc. !

#6 MAGNET

    SourceLearned ;)

  • Moderator

Reputacja: 625
Wszechmogący

  • Postów:1510
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Napisano 02.03.2015 00:46

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Autor tematu zbanowany

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: python

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych