Example #1
0
Actor* addMap()
{
	Actor* sphere = new Actor;

	TransformComponent* trans = new TransformComponent();

	trans->setPos(vec3(0, -0.01, 0));
	Rotation rot;
	rot.setEulerAngles(vec3(0, 0.785, 0));
	trans->setRotation(rot);
	sphere->addComponent(trans);
	glDebug();
	sphere->addComponent(new StaticMeshStaticPhysicsComponent(AssetManager::getBasePath() + "Data/Model/mappa4.obj"));
	glDebug();
	MeshGraphicComponent* mesh = new MeshGraphicComponent(AssetManager::getBasePath() + "Data/Model/mappa4.obj");
	glDebug();
	mesh->setTextureMatrix(mat2(scale(mat4(1), vec3(10))));
	glDebug();
	Material *mat = new Material();
	glDebug();
	mat->setDiffuse(AssetManager::getBasePath() + "Data/Texture/floor1_d.png");
	mat->setNormal(AssetManager::getBasePath() + "Data/Texture/floor1_n.png");
	mat->setSpecular(AssetManager::getBasePath() + "Data/Texture/floor1_s.png");
	mat->setShininess(20);
	glDebug();
	mesh->addMaterial(mat);
	glDebug();
	sphere->addComponent(mesh);
	glDebug();
	return sphere;
}
Example #2
0
Actor* addAxis3()
{
	Actor* actor = new Actor;

	TransformComponent* trans = new TransformComponent();
	trans->setPos(vec3(-5, 0, 5));

	Rotation rot;
	rot.setNormalDirection(vec3(1, 0, 0));
	trans->setRotation(rot);

	actor->addComponent(trans);
	MeshGraphicComponent* mesh = new MeshGraphicComponent(AssetManager::getBasePath() + "Data/Model/axis.obj");
	Material *mat = new Material();
	mat->setDiffuse("#FF0000");
	mesh->addMaterial(mat);
	Material *mat1 = new Material();
	mat1->setDiffuse("#00FF00");
	mesh->addMaterial(mat1);
	mesh->addMaterial(mat1);
	Material *mat2 = new Material();
	mat2->setDiffuse("#0000FF");
	mesh->addMaterial(mat2);
	actor->addComponent(mesh);
	return actor;
}
Example #3
0
Actor* addModel(string filename, vec3 pos = vec3(0), vec3 s = vec3(1))
{

	Actor* sphere = new Actor;

	TransformComponent* trans = new TransformComponent();
	trans->setPos(pos);

	trans->setScale(s);
	sphere->addComponent(trans);
	glDebug();
	sphere->addComponent(new StaticMeshStaticPhysicsComponent(AssetManager::getBasePath() + filename));
	glDebug();
	MeshGraphicComponent* mesh = new MeshGraphicComponent(AssetManager::getBasePath() + filename);
	glDebug();
	mesh->setTextureMatrix(mat2(scale(mat4(1), vec3(10))));
	glDebug();
	Material *mat = new Material();
	glDebug();
	mat->setDiffuse(AssetManager::getBasePath() + "Data/Texture/floor1_d.png");
	mat->setNormal(AssetManager::getBasePath() + "Data/Texture/floor1_n.png");
	mat->setSpecular(AssetManager::getBasePath() + "Data/Texture/floor1_s.png");
	mat->setShininess(20);
	glDebug();
	mesh->addMaterial(mat);
	glDebug();
	sphere->addComponent(mesh);
	glDebug();
	return sphere;
}
Example #4
0
Actor* addSun(Scene *scene)
{
	Actor* actor = new Actor;
	
	TransformComponent* trans = new TransformComponent();
	trans->setPos(vec3(0, 20, 0));
	Rotation rot;
	actor->addComponent(trans);
	
	LightComponent* l = new DirectionalLightComponent();
	l->setDirectional(1);
	l->dir = normalize(vec3(0.5, 1, 0.2));
	actor->addComponent(l);
	scene->systemManager->getSystem(StringHash("GenericSystem").getHash())->addComponent(l);
	
	scene->addActor(actor);
	return actor;
}
Example #5
0
Actor* addParticleSystem(Scene *scene, ParticleSystem* ps, vec3 pos)
{
	Actor* actor = new Actor;

	TransformComponent* trans = new TransformComponent();
	trans->setPos(pos);
	Rotation rot;

	actor->addComponent(trans);

	ActorComponent *c = ps;
	ps->setup();
	scene->systemManager->getSystem(StringHash("GenericSystem").getHash())->addComponent(c);

	actor->addComponent(c);
	scene->addActor(actor);

	return actor;
}
Example #6
0
Actor* addSphereLight()
{
	Actor* sphere = new Actor;
	SphereGraphicComponent* comp = new SphereGraphicComponent();
	TransformComponent* trans = new TransformComponent();
	trans->setPos(vec3(0, 10, 0));


	sphere->addComponent(trans);
	sphere->addComponent(comp);
	SpherePhysicsComponent *p = new SpherePhysicsComponent(1);
	p->setMass(1);
	sphere->addComponent(p);
	LightComponent* l = new LightComponent();

	sphere->addComponent(l);

	return sphere;
}
Example #7
0
Actor* addLucy(Scene* scene)
{
	string tex[] = {"#666666", "#666667", "#666668", "#666669"};
	for(int i = 0; i < 5; i++) {
		Actor* sphere = new Actor;

		vec3 pos(i * 3, 0, -25);
		TransformComponent* trans = new TransformComponent();
		trans->setScale(vec3(0.2));
		trans->setPos(pos);
		sphere->addComponent(trans);
		glDebug();
		sphere->addComponent(new SpherePhysicsComponent(1));
		glDebug();
		MeshGraphicComponent* mesh = new MeshGraphicComponent(AssetManager::getBasePath() + "Data/Model/lucy_low.obj");
		glDebug();
		mesh->setTextureMatrix(mat2(scale(mat4(1), vec3(10))));
		glDebug();
		Material *mat = new Material();
		glDebug();

		if(i) {
			mat->setDiffuse(tex[i - 1]);
			mat->setShininess(i * i * i * i);
		} else {
			mat->setDiffuse(AssetManager::getBasePath() + "Data/Texture/floor1_d.png");
			mat->setNormal(AssetManager::getBasePath() + "Data/Texture/floor1_n.png");
			mat->setSpecular(AssetManager::getBasePath() + "Data/Texture/floor1_s.png");
			mat->setShininess(20);
		}
		glDebug();
		mesh->addMaterial(mat);
		glDebug();
		sphere->addComponent(mesh);
		glDebug();


		scene->addActor(sphere);
	}
	return 0;
}
Example #8
0
Actor* addMainActor(Scene *scene)
{
	Actor* actor = new Actor;

	TransformComponent* trans = new TransformComponent();
	actor->addComponent(trans);

	CameraComponent* cam = new CameraComponent();
	actor->addComponent(cam);

	actor->addComponent(new MyCharacterDynamicPhysicsComponent());

	PlayerAnimationManagerComponent *anim = new PlayerAnimationManagerComponent();
	actor->addComponent(anim);

	trans->setLocalPos(ComponentId::Render, vec3(0, -0.4, 0));
	trans->setPos(vec3(0, 5, 0.5));
	trans->setLocalPos(ComponentId::Light, vec3(0, 3, 0));
	trans->setLocalScale(ComponentId::Render, vec3(0.017));
	SkeletalMeshGraphicComponent * mesh = new SkeletalMeshGraphicComponent(AssetManager::getBasePath() + "Data/Model/mixamoWalkBlender.dae");

	mesh->velocity = 1.4;
	
	Material *mat = new Material();
	mat->setDiffuse(AssetManager::getBasePath() + "Data/Texture/default.png");
	mat->setShininess(200);
	mesh->addMaterial(mat);
	actor->addComponent(mesh);

	scene->systemManager->getSystem(StringHash("GenericSystem").getHash())->addComponent(cam);
	scene->systemManager->getSystem(StringHash("GenericSystem").getHash())->addComponent(mesh);
	
	scene->addActor(actor);

	return actor;
}