Creation is an act of sheer will. Next time it will be flawless...(est. 2016)
 
Jurassic Mainframe NewsHomeCalendarFAQSearchMemberlistUsergroupsRegisterLog inJurassic-Pedia

Share | 
 

 JPOG Modelling - Tips and Tricks

View previous topic View next topic Go down 
AuthorMessage
Oliphaunt
Compsognathus
Compsognathus
avatar

Posts : 112
Points : 675
Reputation : 2
Join date : 2016-06-07
Location : Swimming with Spinosaurs

PostSubject: JPOG Modelling - Tips and Tricks   Tue Jun 07, 2016 12:34 pm

A thread for helping out the newer members on how to model. Contributions made by FTKchuuNinja, Ecliptic, DPJWei, DarkTyranno and others.

(This is as simple as we've gotten this through the years... it's still quite complicated without basic knowledge of hex editor, sorry. Razz)

The Values
81 7c 26 3f 24 13 05 ba 00 00 00 00 c2 cf 1a aa
60 7f f3 b5 9e fe 0f 3f ee a9 53 3f a5 bc a9 35
01 00 80 bf 50 39 e9 35 00 00 00 00 13 00 61 b6
85 57 da b5 00 00 80 bf 00 00 00 00 01 00 80 3f
4f 67 b7 35 fa fb 5b b6 00 00 00 00 e0 ce 8f 35
03 62 58 c0 a2 04 8a 40 00 00 80 3f a5 bc a9 35
13 00 61 b6 01 00 80 3f 00 00 00 00 01 00 80 bf
85 57 da b5 4f 67 b7 35 00 00 00 00 50 39 e9 35
00 00 80 bf fa fb 5b b6 00 00 00 00 24 62 58 c0
96 04 8a 40 3a 5e 94 37 00 00 80 3f 06 44 5f 48
65 61 64 00 00 00 00 00 00 00 00 00 13 00 00 00

Yellow: Edits length of a part. Can be used in every part, except for the pelvis, legs and tongue (TBone) of every dinosaur.
- to increase the length, increase the value; vice versa to decrease length
Red: Edits width. Same range of use as the length value.
- to increase the width, increase the width; vice versa to decrease width
Green: Edits height stretched of a part. Can be used in every part of every dinosaur, except for the legs.
- to increase the height, increase the value; note that this will stretch the part vertically as well as shift its position upwards vertically. To fix this, increase the PURPLE value by the same amount to counter the increase in height.
Purple: Controls the vertical positioning of the part. Can be used in the head, neck, spine and tail of every dinosaur, as well as the legs.
- to increase the height of the head, neck, spine and tail, decrease the value. To increase the height of the limbs, increase the value.
Blue: Controls the vertical positioning of the part, but it's more unstable
- to increase the height of the part, increase the value. Note that when applied to the head, it loses the thought bubble; when applied to the spine, the selection box is removed and when applied to the hip, raptors will teleport.
Sky blue: Inclination value. Can be used only in the neck of every dinosaur, and the results are unstable.
White: Controls height as well. Can be used in the legs and the pelvis.
Pink: Shifts parts (can only be used in forelimbs, neck, head and spine).
- to shift parts forward, increase the value. If shifting the forelimbs causes the hands to sink into the ground, decrease the value for the corresponding hand to bring it to level ground; and if the hand is floating, increase the value for the corresponding hand to bring it to level ground.

TIP: If you're stuck trying to decrease a value and it's already too low, such as trying to decrease 00 3f, what you do is edit the underlined value before editing the 00. Decrease 3f to 3e, then 00 to f0, for instance.

The Hips/Pelvis
In most dinosaurs, the hip (D) is arranged differently than the other parts.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3f
00 00 00 3f 00 00 00 bf 00 00 00 3f 00 00 00 00
00 00 00 00 00 00 80 bf 00 00 00 00 00 00 80 3f
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 #80 bf# 00 00 00 00 00 00 00 00 e5 08 1d 36
9c b7 54 be a9 83 77 40 00 00 80 3f 00 00 00 00
00 00 *80 3f* 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 80 bf 00 00 00 00 00 00 [80 bf]
00 00 00 00 00 00 00 00 00 00 00 00 a9 83 {77 40}
e5 08 1d b6 9c b7 54 be 00 00 (80 3f) 01 44 00 00 <--- D (hip found above L_Thigh)

(-: Matches the dark blue value.
{-: Matches the purple.
[-: Matches green.
*-: Matches red.
#-: Matches yellow;


The Parts
-Scene_Root: Not used in modelling.
-D_Pelvis: Represents the pelvis in Alberto and Dryo.
-D_: Represents the pelvis on every dinosaur, except for Albertosaurus.
-L_Thigh, L_Calf, L_Foot, L_HorseLink, L_Toe0: Represent the parts of the left leg in all models. Some dinosaurs may have only Thigh, Calf, and Foot.
-R_Thigh, R_Calf, R_Foot, R_Horselink, R_Toe0: Represent the parts of the right leg, work the same as the left leg parts.
-Tail: Is the base of the tail.
-Tail1: The next part, front to back, of the tail. In small dinosaurs, it's the end of the tail.
-Tail2: Found in larger dinosaurs, is usualy the end of the tail.
-Tail3: Found only in Brachiosaurus, works as the end of the tail for it.
-Spine: Is the back half of the spine. In small dinosaurs, it is the only spine part.
-Spine1: The front half of the spine on larger dinosaurs.
-L_Upper_Arm, L_Forearm, L_Hand: Represent the left front limbs in all dinosaurs. The smallest ones may not have L_Hand.
-R_Upper_Arm, R_Forearm, R_Hand: Represent the right front limbs.
-Neck: The base/thickest part of the neck. In small dinosaurs, it is the only neck part.
-Neck1: The second neck part, back to front, of the dinosaur.
-Neck2: Found only in sauropods, is the highest neck part in Camarasaurus and the second highest in Brachiosaurus.
-Neck3: Found only in Brach, is the highest neck part possible.
-Head: It's quite self-explanatory.
-Ponytail/Ponytail1/Ponytail2: Represent the lower jaw.
-Mouth: Is an ''invisible'' part, where the eating animations are run.
-Eyelids: Again, it's self-explainatory.
-Tbone: Represents the tongue in large carnivores.


Counting in Hex
In the Hex Editor, you'll be working with hex, which is in base-16 (i.e. 8 + 8 = 10). Here's a quick and easy conversion table to help you understand.
Code:
BASE 10 - - - - - BASE 16
0 - - - - - - - - - 0
1 - - - - - - - - - 1
2 - - - - - - - - - 2
3 - - - - - - - - - 3
 4 - - - - - - - - - 4
 5 - - - - - - - - - 5
 6 - - - - - - - - - 6
 7 - - - - - - - - - 7
8  - - - - - - - - - 8
9 - - - - - - - - - 9
... (first divergence!)
10 - - - - - - - - - 0a
11 - - - - - - - - - 0b
12 - - - - - - - - - 0c
13 - - - - - - - - - 0d
14 - - - - - - - - - 0e
15 - - - - - - - - - 0f
16 - - - - - - - - - 20
How do you use this in modelling? Well, let's say I want to increase the pelvis' height. I'll use the blue value mentioned below and increase it. It starts out at 80 3f, so I'll increase it. Here's the problem: I cannot edit 3f without causing major changes, and the highest I can make the value is 99... or is it? Referring to the above table, you'll find that I can indeed go higher than 99, from 9a to 9f, or if that isn't enough, I can even go to a0 3f or ff 3f!

Tips
-Every value has a match, AKA another value equal to itself, somewhere in the part.
Back to top Go down
View user profile
Megaspino2
Moderator
Moderator
avatar

Posts : 200
Points : 778
Reputation : 11
Join date : 2016-06-07
Age : 23

PostSubject: Re: JPOG Modelling - Tips and Tricks   Tue Jun 07, 2016 8:40 pm

This dissection of the rex model done by FTK might be helpful too :

Spoiler:
 
Back to top Go down
View user profile
SpinoInWonderland
Hatchling
Hatchling
avatar

Posts : 88
Points : 681
Reputation : 6
Join date : 2016-06-09
Age : 22

PostSubject: Re: JPOG Modelling - Tips and Tricks   Thu Aug 25, 2016 3:21 pm

I need to point out that the inclination value can be used anywhere on the dinosaur, not just the neck. It can raise stegosaur tails and close ceratosaur mouths.

The width value also shifts eating animations forward/backward, while the value two lines below it controls the vertical positioning of the mouth animations.
Back to top Go down
View user profile http://spinoinwonderland.deviantart.com/
FTKchuuNINJA
Hatchling
Hatchling


Posts : 77
Points : 652
Reputation : 9
Join date : 2016-06-08
Age : 25
Location : Restricted Island Laboratory in the Pacific

PostSubject: Re: JPOG Modelling - Tips and Tricks   Thu Aug 25, 2016 3:51 pm

Broly is talking about the black value for the mouth.
Back to top Go down
View user profile
SpinoInWonderland
Hatchling
Hatchling
avatar

Posts : 88
Points : 681
Reputation : 6
Join date : 2016-06-09
Age : 22

PostSubject: Re: JPOG Modelling - Tips and Tricks   Tue Sep 13, 2016 12:22 am

I just began probing the model sections for possible key values we may have had missed. I think I found one. It's the 29 BA values below (the values connected via hyphen):

Code:
3E 86 B0 3F 49 1F 29-BA 00 00 00 00 00 00 00 00
83 A4 0B 35 90 52 8D BE 0A 0E 76 3F 24 4A A6 35
8D 17 7E BF 10 96 F9 BD 00 00 00 00 3A A3 39 B6
B5 95 F9 3D 8C 17 7E BF 00 00 00 00 04 00 80 3F
A0 70 70 35 52 A8 0A B6 00 00 00 00 86 5C 67 3B
6A BB 31 C0 18 B2 F0 3F 00 00 80 3F 24 4A A6 35
3A A3 39 B6 04 00 80 3F 00 00 00 00 8D 17 7E BF
B5 95 F9 3D A0 70 70 35 00 00 00 00 10 96 F9 BD
8C 17 7E BF 52 A8 0A B6 00 00 00 00 A8 BD 21 C0
53 1C BD 3F A3 F1 66 BB 00 00 80 3F 06 64 5F 48

(Torosaurus' head, if anyone wonders)

It appears to be another vertical positioning value.

When used on the head, it brings the mandible with it rather than leaving it dangling in place, unlike the other values known to control vertical position so far, and it also keeps the though bubble. Eating and swallowing animations are also apparently brought along as well, rather than the mouth animations needing to be moved separately.

I need to further test this. This may be the key to lifting heads while averting thought bubble loss and jaw/mouth animation blunders...

EDIT: It cannot move parts lower than their default positions. It also moves the spine to the right, but cannot move it further left than it's default position. It has no effect on the limbs and tail.

I'll put up some pictures later on.


Last edited by SpinoInWonderland on Wed Sep 14, 2016 10:25 am; edited 1 time in total
Back to top Go down
View user profile http://spinoinwonderland.deviantart.com/
FTKchuuNINJA
Hatchling
Hatchling


Posts : 77
Points : 652
Reputation : 9
Join date : 2016-06-08
Age : 25
Location : Restricted Island Laboratory in the Pacific

PostSubject: Re: JPOG Modelling - Tips and Tricks   Tue Sep 13, 2016 10:04 am

You my good sir are the MVP of the year! What seems like a permanent answer to Dr. Python-Jaw's might actually be found through this value. Excellent find you got there. If I am not busy I will tackle this value if it really is the magic we editors have been looking for all this time. *O*
Back to top Go down
View user profile
SpinoInWonderland
Hatchling
Hatchling
avatar

Posts : 88
Points : 681
Reputation : 6
Join date : 2016-06-09
Age : 22

PostSubject: Re: JPOG Modelling - Tips and Tricks   Wed Sep 14, 2016 10:31 am

I got some good news and some bad news.

The good news is that it works splendidly on ceratopsids and most theropods, I recently updated some models to incorporate this. I'm going to further test it on other dinosaur forms such as sauropods and stegosaurs soon.

The bad news is that it doesn't work as intended on dromaeosaurid models, pushing dromaeosaur heads backwards by a considerable amount. Fortunately, the dromaeosaur models' heads' vertical position is controlled by the shifting value with the same effect as this new value has on ceratopsids and carcharodontosaurs.
Back to top Go down
View user profile http://spinoinwonderland.deviantart.com/
Oshronosaurus
Ankylosaurus
Ankylosaurus
avatar

Posts : 404
Points : 1005
Reputation : 15
Join date : 2016-06-10

PostSubject: Re: JPOG Modelling - Tips and Tricks   Wed Sep 14, 2016 4:22 pm

question: does it take some other program to edit models or can it be done in the text editors like some other mods?

_______________
Requiescas in pace, Jurassic Park Legacy. We will never forget you.
Back to top Go down
View user profile
SpinoInWonderland
Hatchling
Hatchling
avatar

Posts : 88
Points : 681
Reputation : 6
Join date : 2016-06-09
Age : 22

PostSubject: Re: JPOG Modelling - Tips and Tricks   Thu Sep 15, 2016 12:21 am

@Oshronosaurus wrote:
question: does it take some other program to edit models or can it be done in the text editors like some other mods?
As of now, it can only be done via hex editor, since TMD files currently cannot be edited by conventional modelling programs.
Back to top Go down
View user profile http://spinoinwonderland.deviantart.com/
Oshronosaurus
Ankylosaurus
Ankylosaurus
avatar

Posts : 404
Points : 1005
Reputation : 15
Join date : 2016-06-10

PostSubject: Re: JPOG Modelling - Tips and Tricks   Thu Sep 15, 2016 4:26 am

just wanted to know for if and when i get another copy of the game. just another type of modding beyond my reach Razz

_______________
Requiescas in pace, Jurassic Park Legacy. We will never forget you.
Back to top Go down
View user profile
equinox-
Embryo
Embryo


Posts : 44
Points : 441
Reputation : 7
Join date : 2016-11-22

PostSubject: Quasi-complete TMD file decoding   Tue Nov 22, 2016 7:29 pm

I've recently used a combination of the research done Andres James and my own work to develop a tool that can convert the .tmd files, and their partner .tkl animation data files into a more usable format (.g3dj)  This has the result of also giving one of the best understanding of the file format itself, since this converter supports animations, and can convert every .tmd file included with Genesis, minus two (HuntPlat.tmd, and STurret.tmd).

I've published the source code on GitHub, so if you're interested in learning more about the file format look there.  It's not well documented (yet), but all the information is embedded in the various files meant to read the model files.

If you'd like to see some pictures of the animations (textured with the Forgotten Mod), here are some links.  Note that these were rendered using a LibGDX project that I haven't included in the above repository.
Visitor Center: Main Gates
All Dinosaurs: Walking
Acrocanthosaurus + Armature: Roar
Dilophosaurus: Idle Sniff

The process required to use the tool is a little involved, and if you aren't familiar with Java and native libraries you probably are out of luck.  I may compile and release a binary at some point once I've cleaned it up a bit.

I originally started this mainly as a challenge, so I probably won't be programming an output layer for the TMD files in addition to the input layer.  However it is a possibility for the future.  This is primarily useful for those who seek to understand the file format, not for modding specifically.

Edit: There is now an output layer that can write the TMD_* file structures back to the disk.


Last edited by equinox- on Sat Nov 26, 2016 11:19 pm; edited 1 time in total (Reason for editing : Update to the software.)
Back to top Go down
View user profile
EchoGreen
Embryo
Embryo


Posts : 39
Points : 602
Reputation : 1
Join date : 2016-06-07
Age : 20

PostSubject: Re: JPOG Modelling - Tips and Tricks   Wed Nov 30, 2016 9:10 pm

Oooh, that's fantastic work! Just, are there any limitations to exporting tmd files?

_______________
My former username is DPJWei
Back to top Go down
View user profile
equinox-
Embryo
Embryo


Posts : 44
Points : 441
Reputation : 7
Join date : 2016-11-22

PostSubject: Re: JPOG Modelling - Tips and Tricks   Wed Nov 30, 2016 10:34 pm

There are a couple unknown values here and there, however as long as you're following the cycle of [import TMD -> modify -> export TMD] there shouldn't be any issues. I've only done a couple very small modifications right now; I might try some global scaling next. Since I don't have a way to edit the models with a GUI it's pretty difficult to change the model, even if all the code is there.

My next experiment will probably be a tool that makes this workflow possible:
Open "xxx.tmd" in converter, export as DAE.
Open DAE in Blender/other tool, modify the mesh and nodes, export as DAE.
Open "xxx.tmd" and "xxx.dae" in converter, merge into new "yyy.tmd"

Although it should, in theory, support animation modification as well this is a more complicated beast, since animations are stored in two files "xxx.tmd" and "ccc.tkl", where the "ccc.tkl" stores animation keyframe values for categories of dinosaurs. The limitations of multi-animation support in most modelling tools is also a problem.
Back to top Go down
View user profile
EchoGreen
Embryo
Embryo


Posts : 39
Points : 602
Reputation : 1
Join date : 2016-06-07
Age : 20

PostSubject: Re: JPOG Modelling - Tips and Tricks   Thu Dec 01, 2016 12:36 am

That's good to know. I'll give this tool a shot.

So the .tkl files also hold animations? Does it by any chance also affect the skin? When I tried to change the .tkl file a dinosaur used in a hex editor, its animations distorted and the skin disappeared, leaving a black squiggly mess.

_______________
My former username is DPJWei
Back to top Go down
View user profile
equinox-
Embryo
Embryo


Posts : 44
Points : 441
Reputation : 7
Join date : 2016-11-22

PostSubject: Re: JPOG Modelling - Tips and Tricks   Thu Dec 01, 2016 12:55 am

So a brief overview of the animation data structure is as follows:
TMD File:
After the scene block in .tmd files there is an animation block.  This block is essentially structured as an array individual animations ("walk_lp", "post_st", "post_lp", "post_ed").  Each individual animation contains a name, some information to link animation channels to nodes, and an array of animation channels.  Each animation channel consists of an array animation key frames.  Each keyframe consists of a 32 bit float (the timestamp), a 16 bit short that is used as a position index in the TKL file, and a 16 bit short that is used as a rotation index in the TKL file.  This can be seen here.

TKL File:
Each TKL file is named "XXXX.tkl", where the XXXX is the category.  ".tmd" files with category "XXX" reference the corresponding TKL file named "XXX.tkl" for their animation data.
TKL files are essentially just two arrays.  One array of positions (3 floats/element) and one of rotations (4 floats/element)

One important thing to realize about the TKL files is that the order values appear in them doesn't necessarily correspond at all with the timing order, and that a single value in a TKL file may be used many times, in many different animations, frames, dinosaurs and channels.  If I write a converter for animations it would append new values to the TKL files (unless a very similar value already existed; in that case it would use the index) to avoid the whole mess of trying to find out how many times a certain value is used, and if by replacing one value in the TKL it's not screwing up any other animations.


Last edited by equinox- on Thu Dec 01, 2016 12:57 am; edited 1 time in total (Reason for editing : Links)
Back to top Go down
View user profile
equinox-
Embryo
Embryo


Posts : 44
Points : 441
Reputation : 7
Join date : 2016-11-22

PostSubject: Re: JPOG Modelling - Tips and Tricks   Sat Dec 17, 2016 8:46 pm

An update about the converter tool.
I've successfully converted the "Anky.tmd" into the Collada format, "Anky.dae", imported this into Blender, moved & deleted vertices to remove the club and make some spikes huge, exported it to "Anky_mod.dae", ran it through my new ModelRewriter module, and got "Anky.tmd" back out.  Loaded into JPOG it looks right when compared to the Blender model, so this pipeline seems to be working alright.
From Blender...
Back to JPOG
Currently it only supports rewriting the mesh data; not the node positions which is a fairly large limitation that I'll be looking into next.  It also is limited to strictly decreasing the number of vertices in the models (not entirely sure why; I'll have to investigate later)  Still though, progress.  Once I get node manipulation stable I'll probably look into releasing a binary non-programmers can use to convert and modify the models.

As always, source on GitHub.

Edit:  Turns out you can increase the number of vertices.  What you can't do is exceed what the engine itself supports.  There is a definite, hard limit at 16k vertices, and it appears there is a limit of around 8000 triangles (in practice this is much lower because the triangle to triangle strip conversion is imperfect).


Last edited by equinox- on Tue Dec 20, 2016 10:29 am; edited 2 times in total
Back to top Go down
View user profile
SpinoInWonderland
Hatchling
Hatchling
avatar

Posts : 88
Points : 681
Reputation : 6
Join date : 2016-06-09
Age : 22

PostSubject: Re: JPOG Modelling - Tips and Tricks   Tue Dec 20, 2016 7:14 am

Looks like equinox here is going to spark another JPOG modding breakthrough Smile
Back to top Go down
View user profile http://spinoinwonderland.deviantart.com/
jaml655
Embryo
Embryo


Posts : 41
Points : 406
Reputation : 0
Join date : 2016-12-18
Age : 20

PostSubject: Re: JPOG Modelling - Tips and Tricks   Wed Dec 21, 2016 2:44 am

I'm surprised this isn't being hyped all over Smile
What you're making is indeed a major breakthrough for JPOG modding: an accessible tool which converts the TMDs, allows the editing of the models (and animations?) in Blender/other software, then rewrites them back into TMD files(Hope I got the gist of it). That would sound like a mad man's dream years ago. This is truly amazing, equinox
Back to top Go down
View user profile
Megaspino2
Moderator
Moderator
avatar

Posts : 200
Points : 778
Reputation : 11
Join date : 2016-06-07
Age : 23

PostSubject: Re: JPOG Modelling - Tips and Tricks   Wed Dec 21, 2016 8:12 pm

@equinox- wrote:
An update about the converter tool.
I've successfully converted the "Anky.tmd" into the Collada format, "Anky.dae", imported this into Blender, moved & deleted vertices to remove the club and make some spikes huge, exported it to "Anky_mod.dae", ran it through my new ModelRewriter module, and got "Anky.tmd" back out.  Loaded into JPOG it looks right when compared to the Blender model, so this pipeline seems to be working alright.
From Blender...
Back to JPOG
Currently it only supports rewriting the mesh data; not the node positions which is a fairly large limitation that I'll be looking into next.  It also is limited to strictly decreasing the number of vertices in the models (not entirely sure why; I'll have to investigate later)  Still though, progress.  Once I get node manipulation stable I'll probably look into releasing a binary non-programmers can use to convert and modify the models.

As always, source on GitHub.

Edit:  Turns out you can increase the number of vertices.  What you can't do is exceed what the engine itself supports.  There is a definite, hard limit at 16k vertices, and it appears there is a limit of around 8000 triangles (in practice this is much lower because the triangle to triangle strip conversion is imperfect).

You may have just found the holy grail of JPOG modding. Keep at it, let's see how far we can push this new development.
Back to top Go down
View user profile
Sponsored content




PostSubject: Re: JPOG Modelling - Tips and Tricks   

Back to top Go down
 
JPOG Modelling - Tips and Tricks
View previous topic View next topic Back to top 
Page 1 of 1
 Similar topics
-
» JPOG Modelling - Tips and Tricks
» Microsoft Excel Tips & Tricks Thread
» Tips & Tricks 1: Making Rubber molds for plaster blocks
» Tips and Tricks -- what has worked well for you.
» Battlin Boxers, tips?

Permissions in this forum:You cannot reply to topics in this forum
Jurassic Mainframe :: Expanded Lore :: JP: Operation Genesis-
Jump to: