Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Best-practice workflow to go .. #5

Open
wolfgangvonludwigsburg opened this issue Nov 26, 2019 · 18 comments
Open

Best-practice workflow to go .. #5

wolfgangvonludwigsburg opened this issue Nov 26, 2019 · 18 comments

Comments

@wolfgangvonludwigsburg
Copy link

As a personal study project, I try to implement (in next weeks)
a motorcycle + driver, driving over a bridge ..

One way would be taking mixamo stuff ..

But I found your avatar implementation path,
and it suits so much better.

Specially I looked at the 'Avatar preview' ..

  • this is IMHO very amazing software decisions, best design and experienced implementation!
    Really easy to follow and go.

Now, my concerns:

(1) What's the intended or best-practice workflow to go ..
I could export the model-mesh (.obj), and import it into Blender,
if I want to modify the model to my needs.

(2) Should/Must I take the 'avatar'-armature,
if I want to develop my own animations/actions/bvh's

(3) I imported the walk.bvh into Blender ..

  • the armature cycles "backwards", and the legs are somehow "wrong-orientated" ..

Avatar Armature

(4) May I ask: is there already an IK-featured (sort of "rigify") rig available for Blender.. ?

(5) A more general inquiry: What are your implementation aims, what features are you further planning .. (animated dress/suit/hair, lipsync, .. ?)

For sure, I would have many, many, .. more questions .., but let's stop for now ;-) !
Many thanks for this amazing stuff !!
Best regards, sorry for my humble english ..

@lo-th
Copy link
Owner

lo-th commented Nov 26, 2019

Hi Wolfgang
i'm not user of blender but I will be interested specialy with last version.

for format
you have to use fbx .dae but the best with blender is use .gltf or .glb

blender can read and export .bvh but yes find the good workflow to export correctly
is pretty hard, bvh no use same orientation that most 3d software.

you have to experiment, try ...µ

mixamo have very good stuff and i think you can take .fbx model
import in blender, edit in blender and reexport to three in .glb with animation

for a motorcycle driver you don't need complex animation ;)
http://lo-th.github.io/Ammo.lab/#moto_akira

@wolfgangvonludwigsburg
Copy link
Author

wolfgangvonludwigsburg commented Nov 26, 2019

Hi Laurent,

thanx for your fast reply !

if I understand you correctly,
then there is no urgent need in using Flash-based sea3D Studio ..

  • I could just use Blender.

Concerning mixamo, I found this guidance ..
https://www.donmccurdy.com/2017/11/06/creating-animated-gltf-characters-with-mixamo-and-blender/

  • but I did'nt experience right now.

Yes, I will use glTF, this seems to be the most promising format between Blender and threejs

Now, why do you use the sea3D format .. ?
I think, compression is ýour concern .. ?

Did you develop the bvh's by yourself (sea3D Studio), or just use them (e.g. from http://mocap.cs.cmu.edu/) .. ?

I will have a look at the "moto_akira" ..

  • a first click got me a black screen (driver issue) .. - for development I only use internal graphics (HD440)

I think, my motorcycle driver will not be going physically (too much CPU greedy),
it will be basically a "Follow Path" Game ..

The hardest thing will be modelling the interactions between motorcycle and driver:

  • Driver going to his Bike
  • Set up Bike
  • Sit on
  • Apply armature knobs
  • Start
  • You see (and hear) the motorcycle chain rattle .. ;-)
  • and so on ..

@lo-th
Copy link
Owner

lo-th commented Nov 26, 2019

Yes you should use blender to do animation and use good example you find.
animation is hard work start with simple animation.

i use sea3d for long time and is far more compact
for bvh is use multiple source but have to convers in motion builder

@wolfgangvonludwigsburg
Copy link
Author

moto_akira

There are maybe errors in:

http://lo-th.github.io/Ammo.lab/#basic
(1) index.html includes js/helpers/CarHelper.js .. - which is missing ?

http://lo-th.github.io/Ammo.lab/#moto_akira
(2) lab.js:18163 THREE.WebGLProgram: shader error:
37442 35715 null gl.getProgramInfoLog THREE.WebGLShader: gl.getShaderInfoLog() vertex

Should I post the logfile (chrome, i7-3770 HD440) ?

@lo-th
Copy link
Owner

lo-th commented Nov 27, 2019

updated i remove sky to more simple environnement
carHelper is no more use
tell me if you have shader error // if is warrning it's normal

intel 440 is not make for 3d for sure but this demo work on samsung s8 so...

@wolfgangvonludwigsburg
Copy link
Author

wolfgangvonludwigsburg commented Nov 27, 2019

Hi Laurent,

many thanx for this quick fix !!

Now this clearified my implementation path much more:

  • Study moto_akira in detail ..
  • change Motorcycle type to my BMW K1100 (or a Harley model), and driver to my own skin
  • develop further driver animations (bvh based)
  • set physics optional: on/off, or use fake physics ..
  • I estimate: 1 MB for motorcycle + driver, 1 MB for environment = 2 MB model load total

Concerning format decision (SEA3D vs GLTF),
I found this "heated" dicussion:
mrdoob/three.js#14419

May I ask, what ->you think about it: glTF yes or no: .. ?

@lo-th
Copy link
Owner

lo-th commented Nov 27, 2019

sea3d is more compact but not many is use same lzma compression but glb have more info to store ?
one thing i never do is include map in my export so model stay compact
i recreat map on three.js and load after loading model and i can edit map without rexport model.

for sure you need to make optimisation of model with less face as possible.

map is someting can take very high MB
kaneda model take 817 Ko / map take 7.33 Mo

@wolfgangvonludwigsburg
Copy link
Author

wolfgangvonludwigsburg commented Nov 27, 2019

As far as I know, there is no sea3D-Im/exporter available for Blender (or yes: .. ?),
so for development purposes/exchange I take glTF, but at development end, sea3D would be an option.

|| kaneda model take 817 Ko / map take 7.33 Mo
||
which map (7.33 Mo) do you mean .. ?
I assume, you mean the map, that comes with the original old game play ..
If not, please tell me the download-url: .. ;-)

I would like to load the (reality) environment on a tile based and LOD basis,
Google offers their 3D tiles for game playing purposes ..
but I think it's not for free (I did'nt explore this yet until now).

Well, I can take Openstreetmap/SRTM tiles, combine them with own 3D houses/model objects ..
but that would be a lot of work ..

@lo-th
Copy link
Owner

lo-th commented Nov 27, 2019

yes, no sea3d exporter for blender. but you can use sea studio to convers file from blender.

map = images mapped on 3d object :)
i unwarp my 3d model
and i make map for colors, normal, metalness roughness and ao
maybe you should start with a smaller project...

@arpu
Copy link

arpu commented Nov 27, 2019

you should go with gltf/glb its standardizes Khronos format!

for optimation and using basisU for textures use https://github.com/zeux/meshoptimizer

@wolfgangvonludwigsburg
Copy link
Author

Uhh sorry, I totally misunderstood you,
I see, map-images can be integrated into the model.sea file,
or not(!) for sure ..

That's why -on some on your examples- I first see the raw untextured model,
then delayed texturing (when map images have finished loaded)

|| maybe you should start with a smaller project...
||
Oh no, the project can be not big enough .. - with you consulting on my side !! .. ;-))

BTW: where on your github repos, can I download the city environment maps,
as seen on
https://www.youtube.com/watch?v=B-RNXlzWmxg

@wolfgangvonludwigsburg
Copy link
Author

@arpu
many thanx for the link!
well, that's a lot to study ..

@lo-th
Copy link
Owner

lo-th commented Nov 27, 2019

but is GTA :) my bike is better
make gta in three.js is something hard to do .
i don't know you level but make 3d assets is long and asks a lot of knowledge.
Good luck anyway

@wolfgangvonludwigsburg
Copy link
Author

|| make gta in three.js is something hard to do .
||

May I ask, what do you mean ..

  • why is three.js hard to do .. ?
    Should I change the webGL library ?
    Then, which library should I take instead: .. ?

  • Or, should I change the "platform-level"
    direct write some shaders .. ?
    (well, that would be hard to do for me!)

@lo-th
Copy link
Owner

lo-th commented Nov 28, 2019

javascript is far less powerfull than c++
This would be like doing the witcher on switch. oh the idiots he did it :)

Making game is team work, there need lot of different skills, progammeur artist, game designer...
is impossible for one man to make GTA.

webgl is more for présentation;, website, publicity...
you can do game but you will quickly be limited in resource.
Three.js is far the best is open, powerfull, easy and have many good example. ( making shader is not so hard )

or you can start learn Unreal engine or Unity, but that's another level of programming.
and the results took a long time to arrive.

personnaly i prefert javascript because it's a simple language, at the base I am an artist.

@wolfgangvonludwigsburg
Copy link
Author

wolfgangvonludwigsburg commented Nov 28, 2019

Yes for sure, JavaScript is an interpreted language, working on Pseudo-Code
(there's no compiled machine code like with c++)
And resources have to be fetched from web (no direct read from a local filesystem)

But these are the restrictions for any Web-App.

I don't intend to master an (installable) "real game" ..
My role model app is in point of fact 'Google Maps Globe View (3D) / Google Earth 3D' ..

  • detailed models (to some extent)
  • extremely shader driven of course
  • broadly WebWorker driven
  • tile/LOD based
  • compressed textures format
  • compressed geometries/uvs format
  • excellent performance, even on my older i7-3770 HD440

I wonder, if one could accomplish something comparable within reasonable efforts (i.e. with threejs) .. ?
(this, for sure, applied for only my local city Ludwigsburg)

@wolfgangvonludwigsburg
Copy link
Author

Hi Laurent,

I really do not want to keep you busy unnecessarily,
but in case you have time and would to have a look at it:

I walked through your (very impressive) demos at Ammo.lab-gh-pages,
and received 'Black screens/GPU driver errors' with

  • index.html#car_terrain
  • index.html#mecanum

(Maybe same origin/issue as reported already above with 'moto_akira')

See logfiles ..
logfiles.zip

@lo-th
Copy link
Owner

lo-th commented Nov 29, 2019

yes is my sky shader
try this
https://lo-th.github.io/lab/index_pmrem.html
work on HD Graphics 5500

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants