Page 125 of 160

Re: Griff's normalmapped ship remakes

Posted: Sat Aug 17, 2013 5:16 pm
by Tichy
Griff wrote:
@Tichy - I couldn't find a fault with the fer-de-lance shader, oddly enough the op is at V1.0 - which is usually the bug filled version - my OXPs have to get up to about v1.2.45 or whatever until they start working :lol: Is there anything in the log about a shader failing to compile?
I checked, but there wasn't errors... :/
The strange thing is that I just cheated a savefile where I have your new Cobra 3 and changed it to the new F-d-l, and it worked... I'm the one that always have strange issues with shaders? :/ But I swear that when I bought regularly the F-d-l, it was always with the lights off, exactly like it looks in the shipyard... I'm confused...

Re: Griff's normalmapped ship remakes

Posted: Sat Aug 17, 2013 5:36 pm
by Griff
ah, maybe you're flying around but the shader still thinks you're docked and has switched off the lights to save your ships battery going flat :lol: I know, sounds like i'm being a wiseguy but this is actually something the shader does, when the player is docked the alert level is set to 0 and the shader doesn't add the glowmap to the ship ( for more details see 'alertCondition on this page' http://wiki.alioth.net/index.php/Shader ... :_uniforms ) for some reason this might be happening whilst you're launched and flying about.

hmm, just grasping at straws here but did you make sure to use the player version of the fer-de-lance in your edited save file, it should be this one:

Code: Select all

    <key>ship_desc</key>
    <string>griff_normalmapped_ferdelance2013_player</string>
there's a small difference in how the 'alert level' lighting is coded in the player version compared to the non player or 'NPC' ship, it might be that there's a shader mixup happening between the npc and player versions

[blog post]
Since ships with fins were wildly popular over in our Elite Dangerous discussion thread recently, I thought i'd make one for Oolite. So that I don't end up with a backwards flying ship again (see griff gnat oxp) I thought i'd make a quick sketch before starting work on it, I never usually do this so it'll be interesting to see if it helps me make a ship model much faster than normal compared to my usual trial and error method.
This is the Ophidian from Angus Duggan's Elite A game for the BBC micro http://elite.acornarcade.com/ships/ophidian.htm
Image

edit: fixed typo's

Re: Griff's normalmapped ship remakes

Posted: Sat Aug 17, 2013 5:55 pm
by Tichy
I found it!

It's the Respray_for_Griffs OXP. I removed it yesterday.

When I install it, the new F-D-L appears without lights.

Re: Griff's normalmapped ship remakes

Posted: Sat Aug 17, 2013 6:06 pm
by Cody
Griff wrote:
Since ships with fins were wildly popular over in our Elite Dangerous discussion thread recently, I thought i'd make one for Oolite.
Oh yes... we like fins on spaceships! The Ophidian, eh... looks good!

Re: Griff's normalmapped ship remakes

Posted: Sun Aug 18, 2013 9:41 am
by Griff
With a bit of editing of Capt. Murphy's 'Respray_for_Griffs.js' script in his respray OXP - http://oolite.aegidian.org/bb/viewtopic.php?f=4&t=12024 I've got the new fer-de-lance working with it, first make a backup copy of your respray oxp, then go to the scripts folder and open Respray_for_Griffs.js in a text editor you need to insert this bit of code around line 687 one a new set of lines directly after the } on line 686 before the line break on line 687

Code: Select all

		if (dataKey ==="griff_normalmapped_ferdelance2013_player")
		{
			this.colours = [0.4];
			this.origColours = [0.4];
			this.shader = this.ferdelancenew2013Shader;
			this.material = this.ferdelancenew2013Material;
			this.decal = ["griff_player_decal.png",[-1.02,"0.395 0.44 8.6359"]];
			this.origDecal = ["griff_player_decal.png",[-1.02,"0.395 0.44 8.6359"]];
		}
That bit of code seems to check the players current ship to test if it's compatible for the respray OXP - the fact that I've got about 3 different versions of the fer-de-lance all with the same ship name is confusing the respray script (I think!)

Then scroll down to somewhere around line 917, there's a block of code here that sets the shader definitions for the script to use, make a bit of space for the new fer-de-lance and paste the following in

Code: Select all

//ferdelance New 2013
this.ferdelancenew2013Shader = {"griff_ferdelance_new2013_diffuse.png":{fragment_shader: "griff_ferdelance_new2013_PLAYER.fragment",textures:["griff_ferdelance_new2013_diffuse.png","griff_ferdelance_new2013_normal.png","griff_ferdelance_new2013_effects.png","griff_player_decal.png"],uniforms:{uColorMap:{type:"texture",value:0}, uNormalMap:{type:"texture",value:1}, uEffectsMap:{type:"texture",value:2}, uDecalMap:{type:"texture",value:3},uTime:"universalTime", alertlevel: "alertCondition", damage_amount: "damage", hull_heat_level: "hullHeatLevel", engine_power: "speedFactor", laser_heat_level: "laserHeatLevel", PaintColor1:{scale: 0.5,type: "randomUnitVector"}, Decal1_Scale_and_Position:{type:"vector",value:"0.395 0.44 8.6359"}, Decal1_Rotation:{type:"float",value:-1.02}},vertex_shader:"griff_normalmap_ships.vertex"}}
this.ferdelancenew2013Material = {"griff_ferdelance_new2013_diffuse.png":{diffuse_map:"griff_ferdelance_new2013_diffuse.png",emission_map:{extract_channel:"a",name:"griff_ferdelance_new2013_normal.png"},emission_modulate_color:[0.9926,0.9686,0.9926],shininess:7,specular_color:[0.6,0.5,0.5]}};
save the file and restart Oolite with the shift key held down until the title screen appears to force Oolite to re-read in all your OXP files and scripts, otherwise it won't spot your edits

edit: missing " " around the decal texture name in the above bit of code!

Re: Griff's normalmapped ship remakes

Posted: Sun Aug 18, 2013 9:47 am
by Disembodied
Griff wrote:
Since ships with fins were wildly popular over in our Elite Dangerous discussion thread recently, I thought i'd make one for Oolite. So that I don't end up with a backwards flying ship again (see griff gnat oxp) I thought i'd make a quick sketch before starting work on it, I never usually do this so it'll be interesting to see if it helps me make a ship model much faster than normal compared to my usual trial and error method.
Oh, yes, definitely! Ships with fins make perfect sense in Oolite, because the ships all use magic reactionless drives: so if you enter the atmosphere, you don't need lift, but you might not say no to a bit of stability. It's glueing random fins onto ballistic ships that irks my inner pedant! ("Hey, we're all about science, us; physics and hard sums, yeah! Ooh, no, don't lift that, don't look under there, don't ask those questions ...") :)

Re: Griff's normalmapped ship remakes

Posted: Sun Aug 18, 2013 9:56 am
by Tichy
@Griff: It worked. Thanks! Now I can even respray it. :)

(Anyway, I just noticed that the same happens with the new Cobra 3)

Re: Griff's normalmapped ship remakes

Posted: Sun Aug 18, 2013 10:17 am
by Diziet Sma
Tichy wrote:
(Anyway, I just noticed that the same happens with the new Cobra 3)
<chuckles> now you tell him.. :mrgreen:

Re: Griff's normalmapped ship remakes

Posted: Sun Aug 18, 2013 10:40 am
by Griff
There's going to be a few ships that don't work, most of the new stuff such as the wolf, bug, the mamba and cobraI alt versions probably won't work, i'll make a start on posting up the edits for the respray script to add them in - there's no way these edits could be saved as a .js file in the relevant ship oxp and somehow read in by Capt. Murphy's scripts is there? - sort of how you can use shipdata-overrrides.plist to add in extra settings to other ships?

anyway here's how to get the gnat oxp working
Ship check code: insert on new lines after the break on line 696 (although this is just to keep the list of ships in alphabetical order)

Code: Select all

		case "Gnat":
		this.colours = [0.28,0.26];
		this.origColours = [0.28, 0.26];
		this.shader = this.gnatShader;
		this.material = this.gnatMaterial;
		this.decal = ["griff_player_decal.png",[3.1,"0.72 0.765 12.0",3.05,"0.19 0.765 12.0"]];
		this.origDecal = ["griff_player_decal.png",[3.1,"0.72 0.765 12.0",3.05,"0.19 0.765 12.0"]];
		if (dataKey === "griff_gnat_player_alt_paintmap")
		{
		this.colours = [0.28,0.26];
		this.origColours = [0.28, 0.26];
		this.shader = this.gnataltpaintmapShader;
		this.material = this.gnatMaterial;
		this.decal = ["griff_player_decal.png",[3.1,"0.72 0.765 12.0",3.05,"0.19 0.765 12.0"]];
		this.origDecal = ["griff_player_decal.png",[3.1,"0.72 0.765 12.0",3.05,"0.19 0.765 12.0"]];
		}
		break;
Shader definitions code: insert on new lines in a suitable spot somewhere around line 920 or where ever makes the most sense to you - the ships in this bit of the code don't seem to be in alphabetical order, just don't paste this it in the middle of another ships definitions :lol:

Code: Select all

// Gnat
this.gnatShader = {"griff_gnat_diffuse.png":{fragment_shader: "griff_gnat_PLAYER.fragment",textures:["griff_gnat_diffuse.png","griff_gnat_normal.png","griff_gnat_effects.png","griff_player_decal.png"],uniforms:{uColorMap:{type:"texture",value:0}, uNormalMap:{type:"texture",value:1}, uEffectsMap:{type:"texture",value:2}, uDecalMap:{type:"texture",value:3},uTime:"universalTime", alertlevel: "alertCondition", damage_amount: "damage", hull_heat_level: "hullHeatLevel", engine_power: "speedFactor", laser_heat_level: "laserHeatLevel", PaintColor1:{scale: 1.0,type: "randomUnitVector"},PaintColor2:{scale: 1.0,type: "randomUnitVector"}, Decal1_Scale_and_Position:{type:"vector",value:"0.72 0.765 12.0"}, Decal1_Rotation:{type:"float",value:3.1},Decal2_Scale_and_Position:{type:"vector",value:"0.19 0.765 12.0"}, Decal2_Rotation:{type:"float",value:3.05}},vertex_shader:"griff_normalmap_ships.vertex"}}
this.gnataltpaintmapShader = {"griff_gnat_diffuse.png":{fragment_shader: "griff_gnat_PLAYER.fragment",textures:["griff_gnat_diffuse.png","griff_gnat_normal.png","griff_gnat_effects_alt_paintmap.png","griff_player_decal.png"],uniforms:{uColorMap:{type:"texture",value:0}, uNormalMap:{type:"texture",value:1}, uEffectsMap:{type:"texture",value:2}, uDecalMap:{type:"texture",value:3},uTime:"universalTime", alertlevel: "alertCondition", damage_amount: "damage", hull_heat_level: "hullHeatLevel", engine_power: "speedFactor", laser_heat_level: "laserHeatLevel", PaintColor1:{scale: 1.0,type: "randomUnitVector"},PaintColor2:{scale: 1.0,type: "randomUnitVector"}, Decal1_Scale_and_Position:{type:"vector",value:"0.72 0.765 12.0"}, Decal1_Rotation:{type:"float",value:3.1},Decal2_Scale_and_Position:{type:"vector",value:"0.19 0.765 12.0"}, Decal2_Rotation:{type:"float",value:3.05}},vertex_shader:"griff_normalmap_ships.vertex"}}
this.gnatMaterial = {"griff_gnat_diffuse.png":{diffuse_map:"griff_gnat_diffuse.png",emission_map:
{extract_channel:"a",name:"griff_gnat_normal.png"},emission_modulate_color:[0.9926,0.9686,0.9926],shininess:5,specular_color:[0.2,0.2,0.2]}};

Re: Griff's normalmapped ship remakes

Posted: Sun Aug 18, 2013 11:41 am
by Griff
OK, i think i've got the new cobra III oxp working, it's a bit confusing in there now with lots of different versions of the cobraIII being referenced, i can't remember which ones exist or not anymore so i've just added the ones from this oxp onto the end!

first add in these lines in the ship check part of the script (somewhere around line 666 - there's already some lines like this in there so just add the two after them)

Code: Select all

		if (dataKey === "griff_normalmapped_alt_cobra_mkIII_Multidecal_PLAYER_scuffed") {this.shader = this.cobra3altShaderscuffed;this.material = this.cobra3altMaterial; this.decal = false;this.colours = [0.07,0.28];this.origColours = [0.07,0.28];}
		if (dataKey === "griff_normalmapped_alt_cobra_mkIII_Multidecal_PLAYER_clean") {this.shader = this.cobra3altShaderclean;this.material = this.cobra3altMaterial; this.decal = false;this.colours = [0.07,0.28];this.origColours = [0.07,0.28];}
then scroll down and put these shader definitions for these ships right at the end of the script

Code: Select all

// player multidecal Cobra III (new scuffed & clean versions)
this.cobra3altShaderscuffed = {"griff_cobra_III_(alt)_mainhull_diffuse_scuffed.png":{fragment_shader: "griff_normalmapped_cobra_III_(alt)_multidecal_PLAYER_scuffed.fragment",textures:["griff_cobra_III_(alt)_mainhull_diffuse_scuffed.png","griff_cobra_III_(alt)_mainhull_normal_scuffed.png","griff_cobra_III_(alt)_effects_scuffed.png",{name:"griff_cobra_III_(alt)_player_multidecals.png", repeat_s:true}],uniforms:{PaintColor1:{scale: 0.07,type: "randomUnitVector"},PaintColor2:{scale: 0.28,type: "randomUnitVector"}, alertlevel: "alertCondition", damage_amount: "damage", engine_power: "speedFactor", hull_heat_level: "hullHeatLevel", uColorMap:{type:"texture",value:0},uDecalMap:{type:"texture",value:3},uEffectsMap:{type:"texture",value:2},uNormalMap:{type:"texture",value:1},uTime:"universalTime"},vertex_shader:"griff_normalmap_ships.vertex"}};
this.cobra3multidecalMaterial = {};

this.cobra3altShaderclean = {"griff_cobra_III_(alt)_mainhull_diffuse_scuffed.png":{fragment_shader: "griff_normalmapped_cobra_III_(alt)_multidecal_PLAYER_clean.fragment",textures:["griff_cobra_III_(alt)_mainhull_diffuse_clean.png","griff_cobra_III_(alt)_mainhull_normal_clean.png","griff_cobra_III_(alt)_effects_clean.png",{name:"griff_cobra_III_(alt)_player_multidecals.png", repeat_s:true}],uniforms:{PaintColor1:{scale: 0.13,type: "randomUnitVector"},PaintColor2:{scale: 0.2,type: "randomUnitVector"}, alertlevel: "alertCondition", damage_amount: "damage", engine_power: "speedFactor", hull_heat_level: "hullHeatLevel", uColorMap:{type:"texture",value:0},uDecalMap:{type:"texture",value:3},uEffectsMap:{type:"texture",value:2},uNormalMap:{type:"texture",value:1},uTime:"universalTime"},vertex_shader:"griff_normalmap_ships.vertex"}};
this.cobra3multidecalMaterial = {};

Re: Griff's normalmapped ship remakes

Posted: Sun Aug 18, 2013 12:02 pm
by Tichy
With this camoufage, the thargoids won't notice my ship :)
Image

(I can also hide myself in a camp of watermelons... :P )

Re: Griff's normalmapped ship remakes

Posted: Sun Aug 18, 2013 12:17 pm
by ZygoUgo
If your wonderful models are ever trying to choke lesser systems, you could always make a simple model and bake a normal map from the high-detail model.
Chuck them both into xNormal and hey presto! *trying to make it seem easy* :D

Re: Griff's normalmapped ship remakes

Posted: Sun Aug 18, 2013 3:16 pm
by Svengali
Griff wrote:
there's no way these edits could be saved as a .js file in the relevant ship oxp and somehow read in by Capt. Murphy's scripts is there? - sort of how you can use shipdata-overrrides.plist to add in extra settings to other ships?
The script doesn't need the hardcoded materials/shaders. It can read in the whole thing, apply it's changes and write it back for quite some time now.

Re: Griff's normalmapped ship remakes

Posted: Wed Aug 21, 2013 3:00 pm
by Griff
I've sort of mangled the paintmap code into a burning damage shader through a bit of trial and error in Rendermonkey!
Image
I've cobbled it into a test oxp, there's a savegame included in the zip, load that and you'll get a ship to test the shader with, launch from the station and switch to an external camera view then drain the energy banks by constantly using the ECM, when the energy falls to about 40% the effect will kick in - to be honest it looks a bit silly as when the ship builds it's energy back up all the burnt off paint comes back as good as new! :lol:

Damage shader ship test - https://app.box.com/s/cngnzyhjfl13rk34nqs4 about 2.5MB

Re: Griff's normalmapped ship remakes

Posted: Wed Aug 21, 2013 3:30 pm
by Diziet Sma
The fading cockpit light was a nice touch.. 8)