\part{Introduction} \section{Contexte} \paragraph{} Ce travail s'inscrit dans la continuité des travaux de Vincent Charvillat et d'Axel Carlier sur la prédictabilité du comportement d'un utilisateur en interaction avec un lecteur vidéo. L'objectif était alors de proposer un modèle de préchargement plus intelligent que le préchargement linéaire qui est actuellement implémenté sur les sites de streaming vidéo comme YouTube. \paragraph{} L'idée était de suggérer à l'utilisateur des instants potentiellement intéressants dans la vidéo de sorte à biaiser son comportement. Lorsqu'un utilisateur parcourt une vidéo, il peut sauter des passages et aller directement à d'autres. De nombreux travaux montrent qu'en ajoutant des recommandations sur une barre de navigation, l'utilisateur aura tendance à cliquer sur ces zones intéressantes plutôt qu'ailleurs. Plutôt que de précharger toute la vidéo linéairement, on peut donc précharger les zones intéressantes ce qui va réduire la latence lorsque l'utilisateur va sauter une partie pour aller vers une zone recommandée. \begin{figure}[H] \centering \begin{subfigure}[b]{0.4\linewidth} \centering \includegraphics[scale=0.2]{new/interface1.png} \caption{Sans recommandations} \end{subfigure} ~ \begin{subfigure}[b]{0.4\linewidth} \centering \includegraphics[scale=0.34]{new/interface2.png} \caption{Avec recommandations\label{lecteur-reco}} \end{subfigure} \caption{Des lecteurs vidéo avec et sans recommandations} \end{figure} \paragraph{} Dans la figure \ref{lecteur-reco}, les points blancs représentent des débuts de passages intéressants. Les zones gris clair représentent les passages chargés, et les zones gris foncé les passages qu'il reste à charger. \section{Objectifs} \paragraph{} Ce projet a pour but d'appliquer les idées citées précédemment dans le contexte de la navigation et du streaming de modèles 3D. Nous avons donc développé une interface permettant de naviguer dans une scène 3D de manière plus simple que les interfaces actuellement existantes (et qui sont, le plus souvent, utilisées dans le monde du jeux vidéo). En effet, de nombreuses personnes n'ont pas l'habitude de jouer aux jeux vidéo, et peinent à utiliser les interfaces actuelles. \paragraph{} L'objectif est de faciliter la navigation grâce à un système de recommandations qui permettent à l'utilisateur de se déplacer facilement d'un point de vue intéressant à un autre, quitte à devoir utiliser les interactions classiques s'il désire un point de vue plus précis. En supposant que l'utilisateur soit susceptible de sauter vers les vues recommandées, on peut précharger des parties d'un modèle plutôt que d'autres de sorte à éviter que l'utilisateur se retrouve dans une zone de la scène qui n'est pas encore chargée. \paragraph{} Dans ce travail, on ne s'attachera pas à calculer des recommandations : elles seront supposées connues. Dans la pratique, elle seront définies manuellement. \section{Description globale du projet} Pendant ce projet, nous avons développé une interface qui permet de naviguer dans une scène en 3D. Cette interface sera complétée d'une tâche à réaliser (collecter des pièces rouges). Pour aider l'utilisateur à naviguer dans la scène, des mécanismes de recommandations seront introduits, et nous allons chercher à savoir à quel point ces mécanismes aident les utilisateurs. \paragraph{} Nous présenterons ensuite un mécanisme de chargement intelligent de la scène 3D. Nous ne parlerons pas de pré-chargement puisque ce projet n'est pas arrivé jusqu'au point où nous serions capable de prédire le comportement de l'utilisateur. \section{Présentation} Nous allons dans un premier temps parler des technologies que nous avons testées et utilisées. Nous verrons ensuite l'architeture du programme, qui peut paraître un peu complexe. Dans la partie \ref{interface}, nous présenterons l'interface que nous avons développée. Nous verrons comment nous avons testé cette interface dans la partie \ref{userstudy}, et dans la partie suivante, nous verrons comment nous avons fait du streaming de modèle 3D.