Project Sansar : La suite de Second Life

Répondre
Partager Rechercher
Citation :
Publié par Liriel Decosta
ils ne veulent pas que sansar souffre de la réputation graveleuse de sl... du moins le temps de la wipe.
Oui c'est exactement ça; c'est vrai que sur SL le sexe est quelque peu totalement débridé.

Le week-end dernier j'ai fait quelques excursions dans Sansar. J'ai visité 3 expériences.
Je confirme: il faut un très bon débit, et qu'il n'y ai pas toute la famille en train de streamer. Avec mes 450ko/s j'ai mis jusqu'à 15 mn pour charger une expérience. Pour moi, ce ne sera pas jouable.
A remarquer que sur SL quand on va sur une sim "touffue" pas ou plus en cache c'est aussi assez horrible pendant plusieurs minutes. Mais au moins on est IW, on peut commencer à danser avec son partenaire même s'il a sa veste en travers du buste et qu'il est tout gris, on peut papoter, ...

Et puis j'ai fait ce qui m'intéressait le plus: des essais de création :
Voici l'interface de création d'une scène (une expérience étant une ou plusieurs scènes reliées et publiée).
jfJGLTi.jpg
Bon j'ai batailler plus d'une heure pour importe mon mesh (un immeuble). J'avais un fichier fbx fourni mais il est passé sans texture et j'ai cherché à le texturer. Et bé non: on ne peut pas texturé un mesh après coup.
Donc j'ai approfondi avec la version Blender fournie: pour un export Blender, il faut que les textures soient en png. Donc tout convertir (c'était du jpg) et retexturer. Et pour Sansar, les dimensions des textures doivent être un multiple de 4. Et là j'ai pu importé mon mesh. Mais il a fallu que je le re-triangule aussi.
Bon ça fonctionne bien. Si Sansar est si beau, c'est parce qu'il supporte des textures 2048x2048; cela fait une sacré différence. Et puis aussi il ne semble pas avoir beaucoup de contraintes sur les meshes (textures illimités? en tout cas pas 8 comme sur SL).
Les capacités techniques paraissent au rendez-vous. Mais la grosse interrogation que j'ai sur cette interface, c'est cette bande d'inventaire en bas de l'écran : on peut visualiser au grand maximum une dizaine d'objet et je ne me vois pas gérer avec ça les dizaines d'objets que nécessite une scène un peu complexe.

Nouvelle version de lundi:
La seule évolution notable que j'ai vu est un peu plus de choix pour les avatars (une dizaine), qui sont aussi un peu plus travaillés. Ouaaissssss! on a droit à 8 couleurs de peau au lieu de 4 !!! Un peu plus de tenues, de coiffures aussi.
bawHB9a.jpg
Donc voilà j'ai choisi un look d'étudiante avec son petit sac à dos et je suis partie explorer une tombe égyptienne
elqBK8d.jpg
Cela pour vous montrer la qualité des textures.
Je vais tester le script et puis je pense que j'arrêterais là: les temps de chargement des expériences sont trop pénibles.
bises
clairement c'est magnifique visuellement mais oui ils vont devoir revoir leur copie si cest trop lourd pour la connexion internet ça va pas le faire, le gars dans sa campagne avec sa 3g vacillante restera sur sl quand le joueur en ville avec la fibre aura le droit d'utiliser sansar...

ps: j'exagère mais juste un peu ^^
et puis....la clientèle pour visiter des tombes egyptiennes....on risque pas le "full-sim, repassez plus tard..." !!! sauf !!! sauf si en cliquant sur le banc devant toi, declenche un menu bleu, avec rez d' un matelas pasque la pierre c' est dur
Citation :
Publié par MenthalOH
Et si en plus Elenia, tu pouvais piquer un bout de script, une aide sur le Scripting, et le publier....qu'on voit à quoi ressemble le nouveau langage....
Oh c'est du C# pur, avec des assemblies spécifiques qui apportent les classes, méthodes et types nécessaires à l'interaction.
Voici le célèbre liste des visiteurs version Sansar; piloté par une très classique commande par chat :
Code:
/* This content is licensed under the terms of the Creative Commons Attribution 4.0 International License.
 * When using this content, you must:
 * •    Acknowledge that the content is from the Sansar Knowledge Base.
 * •    Include our copyright notice: "© 2017 Linden Research, Inc."
 * •    Indicate that the content is licensed under the Creative Commons Attribution-Share Alike 4.0 International License.
 * •    Include the URL for, or link to, the license summary at https://creativecommons.org/licenses/by-sa/4.0/deed.hi (and, if possible, to the complete license terms at https://creativecommons.org/licenses/by-sa/4.0/legalcode.
 * For example:
 * "This work uses content from the Sansar Knowledge Base. © 2017 Linden Research, Inc. Licensed under the Creative Commons Attribution 4.0 International License (license summary available at https://creativecommons.org/licenses/by/4.0/ and complete license terms available at https://creativecommons.org/licenses/by/4.0/legalcode)."
 */

/* Use oroutines as an event callback to easily track visitors to a scene.
 * Every visitor triggers an AddUser event which will start a coroutine for that visitor.
 */
using System;
using System.Collections.Generic;
using System.Linq;
using Sansar.Script;
using Sansar.Simulation;

// This example shows how to use coroutines and events to track agents entering and leaving the scene
public class VisitorTrackerExample : SceneObjectScript
{
    public string OwnerName;
    public string VisitorListCommand = "/visitorlist";

    public override void Init()
    {
        // Subscribe to Add User events
        // Events can be handled by anonymous methods
        ScenePrivate.User.Subscribe(User.AddUser, SessionId.Invalid, (action, userSessionId, data) => StartCoroutine(TrackUser, userSessionId), true);

        // listen for commands
        ScenePrivate.Chat.Subscribe(0, null, OwnerCommand);
    }

    private class Visitor
    {
        public TimeSpan TotalTime;
        public DateTime VisitStarted;
        public bool Here = false;

        public TimeSpan ThisVisitSoFar
        {
            get { return DateTime.Now - VisitStarted; }
        }
    }

    private Dictionary<string, Visitor> Visitors = new Dictionary<string, Visitor>();

    // There will be one instance of this coroutine per active user in the scene
    public void TrackUser(SessionId userId)
    {
        // Lookup the name of the agent. This is looked up now since the agent cannot be retrieved after they
        // leave the scene.
        string name = ScenePrivate.FindAgent(userId).AgentInfo.Name;
        Visitor visitor;
        if (Visitors.TryGetValue(name, out visitor))
        {
            visitor.VisitStarted = DateTime.Now;
            visitor.Here = true;
        }
        else
        {
            visitor = new Visitor();
            visitor.TotalTime = TimeSpan.Zero;
            visitor.VisitStarted = DateTime.Now;
            visitor.Here = true;
            Visitors[name] = visitor;
        }

        // Block until the agent leaves the scene
        WaitFor(ScenePrivate.User.Subscribe, User.RemoveUser, userId);

        // This should succeed unless the data has been reset.
        // Even then it _should_ succeed as we re-build it with anyone still in the region.
        if (Visitors.TryGetValue(name, out visitor))
        {
            visitor.TotalTime += visitor.ThisVisitSoFar;
            visitor.Here = false;
        }
    }

    private string getVisitorMessage()
    {
        string message = "There have been " + Visitors.Count + " visitors:\n";
        foreach (var visitor in Visitors)
        {
            message += "   " + visitor.Key + " visited for " + (visitor.Value.TotalTime + visitor.Value.ThisVisitSoFar).TotalMinutes + " minutes. [here now]\n";
        }
        return message;
    }

    public void OwnerCommand(int Channel, string Source, SessionId SourceId, ScriptId SourceScriptId, string Message)
    {
        // Checking the message is actually the fastest thing we could do here. Discard anything that isn't the command we are looking for.
        if (Message != VisitorListCommand)
        {
            return;
        }

        AgentPrivate agent = ScenePrivate.FindAgent(SourceId);
        if (agent == null)
        {   // Possible race condition and they already logged off.
            return;
        }

        // If no OwnerName is set, let anyone get the visitor list, otherwise only if the owner name matches.
        if (OwnerName != null && OwnerName != ""
            && agent.AgentInfo.Name != OwnerName)
        {
            return;
        }

        // Dialogs are much easier in a coroutine with WaitFor
        StartCoroutine(ShowStats, agent);
    }

    void ShowStats(AgentPrivate agent)
    {
        var modelDialog = agent.Client.UI.ModalDialog;
        OperationCompleteEvent result = (OperationCompleteEvent)WaitFor(agent.Client.UI.ModalDialog.Show, getVisitorMessage(), "OK", "Reset");
        if (modelDialog.Response == "Reset")
        {
            WaitFor(agent.Client.UI.ModalDialog.Show, "Are you sure you want to reset visitor counts?", "Yes!", "Cancel");
            if (modelDialog.Response == "Yes!")
            {
                // Make a new dictionary of everyone still here to replace the current tracking info.
                Dictionary<string, Visitor> stillHere = Visitors;
                Visitors = new Dictionary<string, Visitor>();

                foreach (var visitor in stillHere)
                {
                    Visitor v = new Visitor();
                    v.TotalTime = TimeSpan.Zero;
                    v.VisitStarted = DateTime.Now;
                    v.Here = true;
                    Visitors[visitor.Key] = v;
                }

                WaitFor(modelDialog.Show, "Visitor times reset.", "", "Ok");
            }
        }
    }
}
Citation :
Publié par Elenia B.
Oh c'est du C# pur, avec des assemblies spécifiques qui apportent les classes, méthodes et types nécessaires à l'interaction.
Voici le célèbre liste des visiteurs version Sansar; piloté par une très classique commande par chat :
Code:
/* This content is licensed under the terms of the Creative Commons Attribution 4.0 International License.
 * When using this content, you must:
 ...
Bonjour,

c'est plus dur à apprendre que le LSL, ou c'est pareil?
Citation :
Publié par Aleah
Bonjour,

c'est plus dur à apprendre que le LSL, ou c'est pareil?
A mon avis sacrément plus dur, car plus complexe, plus riche et plus puissant.

Pour les données par exemple le LSL compte 7 types différents, et le seul qui permet de traiter une collection est le type list http://wiki.secondlife.com/wiki/Category:LSL_List

Je ne saurais pas compter les différents types dans C# il y en a des dizaines (et sans doute des centaines). Et c'est la grosse difficulté: utiliser le type approprié au bon moment. Et en prime on peut se créer ses propres types sur mesure.

Le script que j'ai publié est un très bon exemple :
using System.Collections.Generic;
va charger pour ce script tous les types spécialisés pour les collections; il y en a 12 ! On est loin du lsl et de sa pauvre list
HashSet<T>
Dictionary<TKey, TValue>
LinkedListNode<T>
List<T>

Queue<T>
SortedDictionary<TKey, TValue>

SortedList<TKey, TValue>
SortedSet<T>
Stack<T>

SynchronizedCollection<T>
SynchronizedKeyedCollection<K, T>

SynchronizedReadOnlyCollection<T>

Et on voit ici le problème du C#; si le lsl était fortement typé (on ne peut pas utiliser un type à la place d'un autre) je dirais que le C# est lui très fortement typé. Le list du lsl permettait d'y entasser tous types de données. Le List<T> du C# on doit préciser à la construction le type de données que l'on va y mettre (c'est ce que veut dire le <T>) et plantage assuré si on tente d'y mettre autre chose.

Code:
private class Visitor
    {
        public TimeSpan TotalTime;
        public DateTime VisitStarted;
        public bool Here = false;

        public TimeSpan ThisVisitSoFar
        {
            get { return DateTime.Now - VisitStarted; }
        }
    }

    private Dictionary<string, Visitor> Visitors = new Dictionary<string, Visitor>();
Voilà la structure de données: d'abord une classe Visitor, qui embarque :
un TimeSpan TotalTime : le temps passé sur la sim l’expérience;
un DateTime VisitStarted : la date + heure/mn/s où il est arrivé
un bool Here : dit si oui ou non le visiteur est actuellement présent
et une petite méthode ThisVisitSoFar qui calcule combien de temps le visiteur est resté

Et puis après on bâtit un Dictionary; Alors un Dictionary c'est un ... dictionnaire. C'est une liste de couple clé-valeur. La clé doit être unique, et on peut faire des tas de trucs intéressants avec : recherche, tri, classement ... Dans le cas qui nous intéresse, la clé est du type string, c'est à dire chaine de caractères : on y mettra le nom du visiteur; et la valeur et bien on repique la classe Visitor que l'on utilise donc comme type. Vous voyez la puissance du C#? Et sa complexité : la doc du Dictionary https://msdn.microsoft.com/en-us/lib...or=-2147217396

Bon voilà j'espère que je ne vous ai pas trop embrouillés et que j'ai éclairé un peu votre lanterne sur le C#.

J'aime bien la simplicité du lsl; faire des choses complexes avec est un véritable sport.

Mais le C# est un super langage; aussi je suis frustrée car clairement Sansar n'est pas pour moi pour cause de trop gourmand pour ma pauvre ligne adsl. Dans 5 ans peut être ?

Dernière modification par Elenia B. ; 13/07/2017 à 21h52.
Citation :
Publié par Elenia B.
Mais le C# est un super langage; aussi je suis frustrée car clairement Sansar n'est pas pour moi pour cause de trop gourmand pour ma pauvre ligne adsl. Dans 5 ans peut être ?
Dommage...chez moi ça sera sûrement ça aussi , vivement la fibre pour tous (enfin, presque tous, ça va sans doute être compliqué à installer dans les coins reculés).

Je n'y connais pas grand chose en script, mais nul doute que ce C# va motiver nos camarades scripteurs, car ça semble être un défi à relever !

caterina
Ah du C# ! Je n'en ai pas pratiqué depuis quelques années mais je l'aimais bien, souple et puissant.

C'est vrai que le LSL est une sorte de sport de combat et de recherche incessante d'astuces pour contourner les limitations. On va dire que c'était une époque. L'introduction d'un véritable langage de programmation est forcément un atout intéressant qui peut attirer de "vrais" codeurs. En même temps ça risque de rebuter les débutants qui trouvaient dans le LSL un scriptage accessible.
Ben, sur ce coup-là, malheureusement, je crois que ça sera pareil pour le build des objets......à croire que c'est le but recherché, fi de l'amateurisme, même éclairé, et place aux pros (et, pour les autres, vous êtes priés de vous en tenir à consommer et de sortir vos espèces sonnantes et trébuchantes !).

caterina

Dernière modification par caterina ; 14/07/2017 à 16h27. Motif: manque une lettre
Citation :
Publié par caterina
Ben, sur ce coup-là, malheureusement, je crois que ça sera pareil pour le build des objets......à croire que c'est le but recherché, fi de l'amateurisme, même éclairé, et place aux pros (et, pour les autres, vous êtes priés de vous en tenir à consommer et de sortir vos espèces sonnantes et trébuchantes !).
Il est logique que la plateforme évolue technologiquement, c'est d'ailleurs une demande ferme des utilisateurs. Du coup l'accès pour les créateurs en devient plus délicat parce que ces technologies font appel à des connaissances ou des savoir-faire plus long à acquérir.

On peut s'attendre à l'arrivée de professionnels (graphistes, développeurs...) qui pourront apporter leurs compétences pour créer et animer ce monde-là.

Il n'y aura plus la place pour le bricoleur occasionnel parce que la création sera plus exigeante. Il n'est pas très utile d'apporter un jugement de valeur concernant cette évolution parce qu'elle est inéluctable. C'est encore l’histoire du beurre et de l'argent du beurre. On peut d'ailleurs constater la même dérive RL.

Je pense qu'il faut plutôt le prendre comme un défi parce que même plus complexes les savoir-faire en question ne sont pas inaccessibles.
Le jour où il existera des tutos compréhensibles sans migraine ni s'endormir peut-être...

De toute façon construire pour quoi ? On n'est pas du tout dans le même schéma que SL, j'ai pas l'impression que la customisation d'avatars soit à l'ordre du jour. Reste plus que la déco... pour qui, pour quoi, on sait pas encore.
Enfin ça fait quand même une sacrée part du marché qui part à la poubelle. Des créateurs de talent on en a sur SL, mais combien par rapport à la masse ? Ils ne seront pas plus nombreux sur Sansar, juste qu'il n'y aura plus qu'eux. Tant mieux pour les yeux, tant pis pour les autres.
Citation :
Publié par Loee
(...) j'ai pas l'impression que la customisation d'avatars soit à l'ordre du jour. Reste plus que la déco... pour qui, pour quoi, on sait pas encore.(...)
Pour l'instant, la customisation d'avatars (objets et avatars) n'est pas encore disponible. Mais c'est prévu.
Sur le forum disponible aux personnes qui ont accès à Sansar, quelqu'un a posé la question.

Q. Sansar have any skeleton files out yet? or such for avatar creation?

R. Welcome to Sansar! Happy to hear that you are excited about avatar customization. While this is not something currently available to creators, it is in the works. We will start with accessories and things will improve upon from there. We know avatar customization is of great interest to many creators.


Pour ce qui est des objets, oui, cela passera par des créations 3d hors sansar, qu'il faudra importer. Je sais que Blender, Maya, 3Ds Max font peur à beaucoup de personnes. Mais lancez-vous. Si n'est pas pour Sansar ou SL, pour vous. Perso, j'ai trouvé une vraie passion, et je n'importe quasi rien dans SL.

Pour importer dans Sansar, j'ai quand même l'impression que c'est vachement plus simple et pratique que sur SL.
C#, j'ai appris un peu. et je me sens moins perdue avec ce langage qu'avec LSL. D'autant plus que Visual Studio aide beaucoup dans le développement des codes (esthétisme, librairies assez riches, automatismes,...)

Je ne cherche pas à convaincre, chacun aura ses propres ressentis. Mais, si cela peut vous donner une occasion de vous lancer dans de nouveaux trucs, pourquoi pas

Ah, peut-être une correction quand même : NON, la modélisation 3D n'est pas destinée qu'à des pros, des "vrais". C'est accessible à tous. Certains s'en sortent mieux que d'autres, feront toujours des plus belles choses, mais c'est accessible à tous. Blender est gratuit, puissant et facile à comprendre après quelques jours de bataille
C#, y a des très bons cours sur internet (anglais surtout, mais très bons). Je pense que Microsoft propose des cours en français gratuit aussi.

Belle soirée à tous,

Chloé
entre le langage de prog que je n'ai pas envie d'apprendre, la difficulté accrue pour fabriquer quoi que ce soit, le coté expurgé des activités adultes, les nulettes à voir en 3D qui ne m'interessent pas, la demande de bande passante vous avez réussi à me donner plein de raisons pour n'en avoir plus rien à fiche de sansar.
merci beaucoup ça m'évitera donc de perdre du temps.
Bonjour tout le monde (ou plutôt bonne nuit en fait)
Par rapport à la customisation de l'avatar, je me demande s'ils voudraient pas justement retarder tout le business qui va avec , l'aspect fashion addict qui est assez écrasant sur SL, pour laisser autre chose se profiler?
Idem pour l'absence de porno.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés