Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Скелетная анимация актёра и его перемещение по сцене

Автор:   •  Февраль 6, 2024  •  Лабораторная работа  •  1,296 Слов (6 Страниц)  •  35 Просмотры

Страница 1 из 6

Тема работы: Скелетная анимация актёра и его перемещение по сцене

Цель: Научиться создавать анимированные модели актёров, персонажей 3D сцен, перемещающихся по открытой местности или в помещениях средствами библиотеки GLScene для C++Builder.

Задание

  • Создайте проект L12 с необходимыми компонентами на форме, объектом TGLActor и рельефом местности TGLTerrain.
  • Добавьте пользовательские материалы к объекту
  • Создайте визуализацию физического взаимодействия актера с объектами сцены при навигации по сцене.
  • Включите снимок экрана, скриншот, в отчет.

Выполнение работы

1) Код программ в C++ Builder

Файл fAnimation.h:

//---------------------------------------------------------------------------

#ifndef fAnimationH

#define fAnimationH

#include <vcl.h>

#include <tchar.h>

//---------------------------------------------------------------------------

#include <System.Classes.hpp>

#include <Vcl.Controls.hpp>

#include <Vcl.StdCtrls.hpp>

#include <Vcl.Forms.hpp>

#include <Vcl.ExtCtrls.hpp>

#include <Vcl.Imaging.Jpeg.hpp>

#include "GLS.Scene.hpp"

#include "GLS.Cadencer.hpp"

#include "GLS.SceneViewer.hpp"

#include "GLS.Objects.hpp"

#include "GLS.GeomObjects.hpp"

#include "GLS.BaseClasses.hpp"

#include "GLS.Coordinates.hpp"

#include "GLS.Navigator.hpp"

#include "GLS.SkyDome.hpp"

#include "GLS.VectorFileObjects.hpp"

#include "GLS.Keyboard.hpp"

#include "GLS.VectorGeometry.hpp"

//---------------------------------------------------------------------------

class TForm1 : public TForm

{

__published:        // IDE-managed Components

        TGLSceneViewer *GLSceneViewer1;

        TPanel *Panel1;

        TCheckBox *CBMouseLook;

        TGLScene *GLScene1;

        TGLSkyDome *SkyDome1;

        TGLDisk *Disk1;

        TGLLightSource *GLLightSource2;

        TGLDummyCube *DummyCube1;

        TGLFreeForm *FreeForm1;

        TGLDummyCube *DummyCube2;

        TGLActor *Actor1;

        TGLActor *Actor2;

        TGLDummyCube *DummyCube3;

        TGLCamera *GLCamera1;

        TGLCadencer *GLCadencer1;

        TGLNavigator *GLNavigator1;

        TGLUserInterface *GLUserInterface1;

        TGLFreeForm *GLFreeForm3;

        TGLFrustrum *GLFrustrum1;

        TGLSphere *GLSphere1;

        void __fastcall FormCreate(TObject *Sender);

        void __fastcall CBMouseLookClick(TObject *Sender);

        void __fastcall GLCadencer1Progress(TObject *Sender, const double deltaTime, const double newTime);

private:        // User declarations

        void __fastcall AddMushrooms();

        void __fastcall HandleKeys(const double deltaTime);

    int MushRoomCounter;

public:                // User declarations

        __fastcall TForm1(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TForm1 *Form1;

//---------------------------------------------------------------------------

#endif

Файл fAnimation.cpp:

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "fAnimation.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma link "GLS.BaseClasses"

#pragma link "GLS.Cadencer"

#pragma link "GLS.Coordinates"

#pragma link "GLS.GeomObjects"

#pragma link "GLS.Navigator"

#pragma link "GLS.Objects"

#pragma link "GLS.Scene"

#pragma link "GLS.SkyDome"

#pragma link "GLS.VectorFileObjects"

#pragma link "GLS.SceneViewer"

#pragma link "GLS.File3DS"

#pragma link "GLS.FileMD2"

#pragma resource "*.dfm"

TForm1 *Form1;

const int

  cWalkStep = 6;

const int

  cStrafeStep = 6;

const int

  cRotAngle = 60;

const int

  cRunBoost = 2;

const int

  cSpread = 90;

const int

  cNbMushrooms = 15;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

        : TForm(Owner)

{

}

//---------------------------------------------------------------------------

...

Скачать:   txt (8.5 Kb)   pdf (590.4 Kb)   docx (703.9 Kb)  
Продолжить читать еще 5 страниц(ы) »
Доступно только на Essays.club