3D & Visual effects 3D, Realtime & Vfx
 


 
Registration !


   
 Forum(s)
Interview with Tim Borgamnn

Interview with Tim Borgamnn

Makingof Escalator

Makingof Escalator by Lionel Verlinden - Autodesk 3ds max

Interview with SideFX / Houdini

Interview with SideFX / Houdini

Makingof Fuchsia

Makingof Fuchsia by Serge Birault

Makingof Spider

Makingof Spider by Adrien Lambert - Autodesk 3ds max

  Rss flux Rss    forums index Index    new topic Reply    forums stats Stats   search forums Search   
Forums / WIP Realtime / 3rd Character Controller (Unity C# Dev)
  
  Author   Message
   

JonL
Postman
Posts : 16


View member resume  / portfolio

  View member resume / portfolio
View member forum informations

# Posted: 2 Jun 2013 15:25:18 Edited by: JonL


Salut à tous,

étant actuellement, en plus de ma recherche d'emploi, occupé sur le développement
d'un third character controller en C# avec Unity 3.5, et ayant pas mal avancé,
je viens posté quelques images et vidéos ainsi qu'expliquez un peu plus en détails
comment cela fonctionne et comment je travaille.

Voici déjà quelques screenshots du Rig fait dans Maya.
(Les jambes sont en IK et les bras en FK ainsi que le reste du corps.)
Cela faisait un moment que je n'avais plus fait de Rig ni animé dans Maya,
mais ce n'est pas si compliqué que cela en à l'air.

Je n'ai pour l'instant pas encore fait les driven keys des mains et des pieds.
Ils sont donc animables en passant directement par les leurs controller curves.

Et voici le lien vers la première vidéo.
Je vous conseille de la regader directement sur YouTube,
car j'ai l'impression que le filtre de stabilité de YouTube est désactive sur tdt. ????


J'ai depuis revu un peu le code au niveau de la vitesse de déplacement et du blending entre les animations.
(Idle, Walk et Run)

J'y ai aussi ajouté deux vitesses pour la marche ainsi que pour la course.
Comme dans certains jeux, ou le stick gauche sert à avance entre l'Idle et la marche, et en appuyant en plus sur un bouton (Ex: PS3 R2), l'on passe à la course.

La caméra quand à elle est scripté pour suivre les mouvements du perso.
Ne pas l'attacher directement au root du perso permet plus de liberté comme faire un smooth follow avec un décalage progressif, etc.
Il n'y a pas encore de smooth follow, cela n'est encore qu'un détail pour le moment, et la rotation de la camera est en cours mais cela me pose un peu problème du à la complexité des rotations Quaternion.

Voila, je posterais une seconde vidéo dans quelques jours quand j'aurais refais les animations de course. (Lente et rapide.)

Bon dimanche à tous.

Vous pouvez également suivre ce projet sur mon blog.
http://polygonexperiment.blogspot.be/
Rig IK/FK Skinned
Rig IK/FK Skinned

Rig IK/FK Bones
Rig IK/FK Bones

Test Level
Test Level




Portfolio : http://jonathanlefebvre.carbonmade.com
DevBlog : http://polygonexperiment.blogspot.be
LinkedIn : http://www.linkedin.com/pub/lefebv [...] /3a/a0/938

JonL
Postman
Posts : 16


View member resume  / portfolio

  View member resume / portfolio
View member forum informations

# Posted: 2 Jun 2013 21:37:35


Voici la seconde vidéo.
On ne voit pas beaucoup les deux vitesses de marche et de course, mais cela reste à régler apres que j'aurais refais les animations.

L'on voit déjà les 3 animations (Idle, Walk et Run)
Bonne soirée





Portfolio : http://jonathanlefebvre.carbonmade.com
DevBlog : http://polygonexperiment.blogspot.be
LinkedIn : http://www.linkedin.com/pub/lefebv [...] /3a/a0/938

bsm3d
Gaïa !!
Posts : 7299


View member resume  / portfolio

  View member resume / portfolio
View member forum informations

# Posted: 3 Jun 2013 01:40:37


Salut,

C'est très sympa de voir que tu continue et t'accroche au temps réel



--:: Anonymous Ghost ::--

Rejoignez-nous sur Facebook !

"En ces temps de tromperie universelle, dire la vérité deviens un acte révolutionnaire." - George ORWELL

JonL
Postman
Posts : 16


View member resume  / portfolio

  View member resume / portfolio
View member forum informations

# Posted: 5 Jun 2013 14:35:24 Edited by: JonL


Salut,

alors après pas mal de réglages et une petite mise à neuf du code pour le "camera follow",
voici un extrait du code. (+explications)
Je ne met que la fonction Update().

void Update ()
{
float plLR = tools.GamePadStick_B_Manager_LR();

///--Cam Follow--///
playerActualPosition = playerRoot.transform.position;
cameraActualPosition = cameraRoot.transform.position;

cameraRoot.transform.position = cameraActualPosition + (playerActualPosition - playerPreviousPosition);

playerPreviousPosition = playerActualPosition;
cameraPreviousPosition = cameraActualPosition;

///--Cam Rotate--///
//When player is not moving
if(tools.CharIsMoving() == false && (plLR >= padDeadZone.x || plLR <= padDeadZone.y))
{
//Decentralize Quaternion Rotation
centerRotation = playerRoot.transform.position;
Vector3 vector = cameraRoot.transform.position;
Quaternion rotation = Quaternion.AngleAxis (-plLR, Vector3.up);
Vector3 vector2 = (vector - centerRotation);
vector2 = rotation * vector2;
vector = centerRotation + vector2;
cameraRoot.transform.position = vector;
}

Vector3 point = playerRoot.transform.position;
point.y = cameraRoot.transform.position.y;
Quaternion targetRotation = Quaternion.LookRotation(point - cameraRoot.transform.position);
float i = Time.deltaTime * 100.0f;
cameraRoot.transform.rotation = Quaternion.Slerp(cameraRoot.transform.rotation, targetRotation, i);
}

La première partie sert au suivit de la camera, et la seconde à la rotation sur le centre du personnage.
La camera n'étant, comme expliqué plus haut, pas parenté au personnage, et la fonction "interneRotationAround();" ne fonctionnant que pour une rotation continue en Euler,
j'ai du réécrire le code en me basant sur celui de l'API de Unity.
Les 5 dernières lignes quand à elles servent à ajouter la rotation au niveau du pivot de la camera pour donner l'effet de rotation désiré. (En fait un LookAt customisé)

Voila voila, le projet avance bien, et je suis assez content de moi.
J'en suis déjà à la version 2 de mon code car j'avais réalisé une ébauche il y à quelques moi, mais trop brouillon et pas super fonctionnel.

Bonne journée.

Jonathan Lefebvre
http://polygonexperiment.blogspot.be/

PS : La visualisation du code n'est pas super évidente en blanc sans indentations.



Portfolio : http://jonathanlefebvre.carbonmade.com
DevBlog : http://polygonexperiment.blogspot.be
LinkedIn : http://www.linkedin.com/pub/lefebv [...] /3a/a0/938

JonL
Postman
Posts : 16


View member resume  / portfolio

  View member resume / portfolio
View member forum informations

# Posted: 5 Jun 2013 17:26:57


Voici une nouvelle vidéo avec les deux sticks du game-pad en actions.

- Celui de gauche pour les mouvements et rotations simples.
- Celui de droite pour tourner la caméra autour du personnage ainsi que pour aller vers la gauche/droite lors des déplacements avec le stick gauche.

Il ne me reste plus qu'à mettre en place les animations principales de déplacements, ainsi qu'une option supplémentaire de déplacement haut/bas pour la caméra.

Bonne journée.





Portfolio : http://jonathanlefebvre.carbonmade.com
DevBlog : http://polygonexperiment.blogspot.be
LinkedIn : http://www.linkedin.com/pub/lefebv [...] /3a/a0/938

JonL
Postman
Posts : 16


View member resume  / portfolio

  View member resume / portfolio
View member forum informations

# Posted: 6 Jun 2013 11:36:03 Edited by: JonL


Salut,

alors voila une petite mise à jour pour montrer que les fonctions peuvent parfois êtres bien utiles , autant pour cleaner le code que pour d'autres choses.

la partie de code montrée plus haut peut se résumer à cela pour la rotation de la camera.
(Left/Right et up/Down)

public static Vector3 QRotateAround(Vector3 centerRotation, Vector3 vector, float padAxis, float rotSpeed, Vector3 rotDirection)
{
Quaternion rotation = Quaternion.AngleAxis (padAxis * rotSpeed, rotDirection);
Vector3 vector2 = (vector - centerRotation);
vector2 = rotation * vector2;
vector = centerRotation + vector2;
return vector;
}

exemple d'utilisation :
cameraRoot.transform.position = QRotateAround(playerHead.transform.position,cameraRoot.transform.posit ion,plLR,rotSpeed,Vector3.up);

cela fait de la place hein



Portfolio : http://jonathanlefebvre.carbonmade.com
DevBlog : http://polygonexperiment.blogspot.be
LinkedIn : http://www.linkedin.com/pub/lefebv [...] /3a/a0/938

JonL
Postman
Posts : 16


View member resume  / portfolio

  View member resume / portfolio
View member forum informations

# Posted: 9 Jun 2013 20:17:58 Edited by: JonL


Bonsoir,

voici comme promis la quatrième vidéo avec le mouvement camera complet, ainsi que la fausse gravité et un début de saut.(Pas spécialement bien réglé le saut.)
Je dis fausse, car elle est simulé via la position en Y du personnage à la place d'utiliser le moteur physique de Unity. Cela permet une gestion plus simple pour un character controller.

La suite au prochain numéro.
Bonne soirée.


Test level V2
Test level V2




Portfolio : http://jonathanlefebvre.carbonmade.com
DevBlog : http://polygonexperiment.blogspot.be
LinkedIn : http://www.linkedin.com/pub/lefebv [...] /3a/a0/938

JonL
Postman
Posts : 16


View member resume  / portfolio

  View member resume / portfolio
View member forum informations

# Posted: 15 Jun 2014 11:38:48 Edited by: JonL


Yop, salut à tous,

vu que cela fait longtemps que je n'ai pas posté d'update de ce projet,
et que j'ai un peu de temps ce matin je vais en profiter.

Alors voila, le système de camera est parfaitement fonctionnel à présent, collision, occlusion et tout le reste.
(+- 300 lignes de codes )
J'ai également rajouté une classe de gestion des devices (Mobile/Game-pad/Clavier-Souris) et ai déjà implémenté certaines des interfaces utilisateur (aussi en fonction du device choisi).

Les dernières améliorations en date sont :
- L'accès à certaine données via un fichier xml
- Un lock de la camera en Y, Z ou les deux. (Et un changement dans l'interface mobile en fonction du choix.)
- Des menus ingame. (start, level menu, options, statistiques, etc)

Et actuellement en formation C# ASP .Net à Technocité à Mons, j'apprends chaque jours de nouvelles choses donc je pense aller un peu plus vite pour implémenter certaine fonctionnalités des à présent.

Edit : Si vous avez des idées intéressantes de fonctions qui pourraient êtres ajoutées n'hésitez pas à les partagées.
InGame UI
InGame UI

camera detection system
camera detection system




Portfolio : http://jonathanlefebvre.carbonmade.com
DevBlog : http://polygonexperiment.blogspot.be
LinkedIn : http://www.linkedin.com/pub/lefebv [...] /3a/a0/938

bsm3d
Gaïa !!
Posts : 7299


View member resume  / portfolio

  View member resume / portfolio
View member forum informations

# Posted: 25 Jun 2014 12:39:41


Au moins tu ne perd n'y ton temps n'y la main !



--:: Anonymous Ghost ::--

Rejoignez-nous sur Facebook !

"En ces temps de tromperie universelle, dire la vérité deviens un acte révolutionnaire." - George ORWELL

  
Forums / WIP Realtime / 3rd Character Controller (Unity C# Dev)
  Add Smilies :                          Embed a Sketchfab 3D model  
:D
:)
:(
°(;
:s
:8
:x
 :p
o:
:devil:
:wink:
:roll:
:ask:
:exclaim:
:idea:
:love:
More Smilies

Options :


Disable Smilies

 Lost your password ?
     
             

Online : Guest(s) - 1 / Member(s) - 0

Online users record : 188 [1 Jan 2017 08:45:39]
Guest(s) - 188 / Member(s) - 0
TDT3D 3D and CG art Community  About Informations Navigation Related My account
TDT3D is a magazine and a community of 45328 Members recognized worldwide dedicated to CGI artists.

Our lines of force are 3D, computer art, architecture, digital nature, design and 3D/VR interactive.

©2017 TDT3D - All rights reserved.

Made in Belgium
Who? What?
Advertising
Social network
Legal and privacy
Partners
Contact
Home
News
Featured CG!
Features
Gallery
Videos
Tutorials
Forums
Downloads
Links
3DVF
ARTkm
e-onsoftware
HEAJ
Incubhacker
Kob-one
Ranchcomputing
ZBrush-Fr
Login
Registration !
Forget your ID ?
Online (202 / 0):