Page 1 of 2

Ghost Monsters

Posted: Mon Feb 09, 2015 7:07 pm
by David Ward
We've searched around but haven't found any ethereal monsters. Has anyone managed to pull off graphics to make regular monsters look like...ghosts? Ethereal? Seems like a tall order, but if anyone has managed to do this, we would love to put those graphics into the game we're making.

Re: Ghost Monsters

Posted: Mon Feb 09, 2015 7:27 pm
by THOM
Not (yet) portet over to LoG2 but have a look here:

http://www.nexusmods.com/grimrock/mods/198/

Re: Ghost Monsters

Posted: Mon Feb 09, 2015 7:53 pm
by David Ward
Very cool. Seems like ethereal monster graphics would be tough to make, even with a graphic editing toolkit, because of the see-thru textures involved. It's not just a different skin. Thanks for the link.

Re: Ghost Monsters

Posted: Mon Feb 09, 2015 9:04 pm
by maneus
Why not set at the materials.lua "blendMode = "Additive" ?
This makes a ghost effect too.
SpoilerShow
Image

Re: Ghost Monsters

Posted: Mon Feb 09, 2015 9:06 pm
by David Ward
Is that right, maneus? Will have to try this.

Re: Ghost Monsters

Posted: Wed Mar 11, 2015 5:51 pm
by Emera Nova
Where in the script would you put in the blendmode? Is it inside the monsters script or in a different lua file?

Re: Ghost Monsters

Posted: Wed Mar 11, 2015 5:58 pm
by THOM
In the material definition:

Code: Select all

defineMaterial{
	name = "skeleton_bow",
	diffuseMap = "assets/textures/monsters/skeleton_warrior_bow_dif.tga",
	specularMap = "assets/textures/monsters/skeleton_warrior_bow_spec.tga",
	doubleSided = false,
	lighting = true,
	alphaTest = false,
	blendMode = "Additive",    -- !!!!
	textureAddressMode = "Wrap",
	glossiness = 20,
	depthBias = 0,
}

Re: Ghost Monsters

Posted: Wed Mar 11, 2015 7:00 pm
by minmay
Blend mode list

Making ghostly monsters like the ones on that Nexus page is really easy. All they did was change the colours and brightness of the texture a bit, change the blend mode, add really simple particles, and paste an extra decoration onto the shield.

Re: Ghost Monsters

Posted: Tue Mar 17, 2015 7:51 pm
by David Ward
Cool, great tips, didn't see this until now. Thanks guys. Let there be ghosts~

Re: Ghost Monsters

Posted: Wed Mar 18, 2015 7:25 am
by Eleven Warrior
Hi this is the new Ghost code if anyone needs it. It works for me. I hope this is correct guys.

Code: Select all

defineObject{
	name = "skeleton_archer_ghost",
	baseObject = "base_monster",
	components = {
		{
			class = "Model",
			model = "assets/models/monsters/skeleton_archer.fbx",
			material = "skeleton_bow_ghost", ---overrides original texture--
			storeSourceData = true,
		},
		{
			class = "Animation",
			animations = {
				idle = "assets/animations/monsters/skeleton_archer/skeleton_archer_idle.fbx",
				moveForward = "assets/animations/monsters/skeleton_archer/skeleton_archer_walk.fbx",
				strafeLeft = "assets/animations/monsters/skeleton_archer/skeleton_archer_strafe_left.fbx",
				strafeRight = "assets/animations/monsters/skeleton_archer/skeleton_archer_strafe_right.fbx",
				turnLeft = "assets/animations/monsters/skeleton_archer/skeleton_archer_turn_left.fbx",
				turnRight = "assets/animations/monsters/skeleton_archer/skeleton_archer_turn_right.fbx",
				attack = "assets/animations/monsters/skeleton_archer/skeleton_archer_attack.fbx",
				attackBack = "assets/animations/monsters/skeleton_archer/skeleton_archer_attack.fbx",
				getHitFrontLeft = "assets/animations/monsters/skeleton_archer/skeleton_archer_get_hit_front_left.fbx",
				getHitFrontRight = "assets/animations/monsters/skeleton_archer/skeleton_archer_get_hit_front_right.fbx",
				getHitBack = "assets/animations/monsters/skeleton_archer/skeleton_archer_get_hit_back.fbx",
				getHitLeft = "assets/animations/monsters/skeleton_archer/skeleton_archer_get_hit_left.fbx",
				getHitRight = "assets/animations/monsters/skeleton_archer/skeleton_archer_get_hit_right.fbx",
				fall = "assets/animations/monsters/skeleton_archer/skeleton_archer_get_hit_front_left.fbx",
			},
			currentLevelOnly = true,
		},
		{
			class = "Monster",
			meshName = "skeleton_archer_mesh",
			footstepSound = "skeleton_archer_footstep",
			hitSound = "skeleton_hit",
			dieSound = "skeleton_die",
			hitEffect = "hit_dust",
			capsuleHeight = 0.7,
			capsuleRadius = 0.25,
			collisionRadius = 0.6,
			health = 120,
			protection = 5,
			immunities = { "poisoned", "sleep", "blinded" },
			resistances = { ["poison"] = "immune" },
			traits = { "undead" },
			exp = 90,
			headRotation = vec(90, 90, 0),
		},
		{
			class = "SkeletonArcherBrain",
			name = "brain",
			sight = 6,
		},
		{
			class = "MonsterMove",
			name = "move",
			sound = "skeleton_walk",
			cooldown = 2,
		},
		{
			class = "MonsterTurn",
			name = "turn",
			sound = "skeleton_walk",
		},
		{
			class = "MonsterAttack",
			name = "rangedAttack",
			attackType = "projectile",
			attackPower = 14,
			cooldown = 4,
			animation = "attack",
			sound = "skeleton_archer_attack",
			shootProjectile = "cold_arrow",
			projectileHeight = 1.35,
		},
	},
}

defineMaterial{
	name = "skeleton_bow_ghost",
	diffuseMap = "assets/textures/monsters/skeleton_warrior_bow_dif.tga",
	specularMap = "assets/textures/monsters/skeleton_warrior_bow_spec.tga",
	doubleSided = false,
	lighting = true,
	alphaTest = false,
	blendMode = "Additive",
	textureAddressMode = "Wrap",
	glossiness = 20,
	depthBias = 0,
}