We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.

Crunch

Forum Replies Created

Viewing 15 posts - 46 through 60 (of 158 total)
  • Author
    Posts
  • Crunch
    Customer

    yes. Just read the value.

    As a workaround until i can find something better, I called a puzzles function that returns the value of the variable I want to work with on the external script – again, external script is located in child frame of my main verge app.

    var xy = parent.window.v3d.puzzles.procedures.getdata(“id”);

    Attachments:
    You must be logged in to view attached files.
    in reply to: External html triggering animation #54726
    Crunch
    Customer

    @ Aubrey, good luck, run into any problems let me know


    @visualizer
    .. sorry, most of it is stuck in my head.. what I try maintain though is a powerpoint (or word file) where I paste some of the tricks I learn from others or trick i came up with myself… and make notes… My brain seens to be out of disc space so it always purges older material out.. so having the diary, is a nice thing to quickly find a refresher.

    The other resource is this community page.. lots of tricks shared here, gl!

    in reply to: 360 Turntable with photos #54725
    Crunch
    Customer

    @andrei –“With this type of spinners you capture more details than a interactive 3D model, with a interactive 3d model you can only go so far in terms of fidelity.”…

    Meh… not so sure about that. Have you checked out the 3D shoe configurator on the Nike webste?

    3d is going to be the way to go.

    in reply to: 360 Turntable with photos #54639
    Crunch
    Customer

    ‘spinners’ to me are like ancient hacks to try to emulate 3d in a flat 2d environment . WebGL/Verge are the way to go.

    @andrei – So you have 20 pictures of a product from a bunch of different angles? Why not just model it and make a proper 360 3d viewer?

    Of course modeling is hard.. I don’t really follow the 3d scanning market but last I heard I think you can use the new iphone to automatically scan out a model?.. or, there is always fiverr

    in reply to: External html triggering animation #54636
    Crunch
    Customer

    Iterations are a bit tricky at first, but will save you buttloads of time.

    Here is demo of what I think you described
    https://v3d.net/9ul

    Notes
    *come up with naming (eg name + ###) convention for your elements/3d objects to make cycling through them easy.

    *I had put values in for the html buttons out of habit but aren’t required in this setup. HTML values are useful though as they can be picked up by with the onclick – ‘get event property: target.value’ puzzle. Just remember, DIVs don’t have the value property
    https://www.w3schools.com/tags/att_value.asp

    Attachments:
    You must be logged in to view attached files.
    in reply to: Display annotation’s dialog box #54614
    Crunch
    Customer

    OMG.. 2 stinking lines of codes.. nice. THANK YOU!
    +5 points for the follow up post with that example

    Don’t want to be too greedy with your time, but.. bonus question/riddle.

    Is there any way to be able to modify the bind function so instead of the html element’s top left box getting snapped to a 3d objects origin, the html elements center could be used instead?

    EDIT: I answered my own question before posting this, I can just get the width of my element, divide by 2, then change the result to negative and set it as the left margin on html element.

    Thanks again Kdv!

    in reply to: Display annotation’s dialog box #54583
    Crunch
    Customer

    Kdv – very impressed by your contributions here and on boards in general, thanks for being so helpful!!!

    Related question for you about Annotation objects. It seems to me, that if you have a lot annotations in a scene and a lot of camera motion (from tween, or path animations), it can start dragging down the framerate. Which makes sense of course as the browser is constantly having to translate each of the elements position as the cam moves.

    Its been a while since I was last working with creating annotations via puzzles, but from what I remember, I think my idea was to ‘hide’ them before any cam animations then have them fade back in when motion had stopped.

    I believe I had finally figured out a way to ‘hide’ them (make then invisible and non-reactive to mouse events – hover, click, drag – with CSS), but… after looking at inspector window in browser, they were still there in the dom getting their positions translated (sucking up processing power)

    Is there an ‘easy’ way off turning them off?

    I believe I ended up having to create a few puzzle based functions that basically removed the anns, then another set to re-create them when I wanted them to be visible. Seemed like a lot of work (and a big puzzles mess) for a simple toggle function.

    I have since decided to develop my own puzzle based setup that uses my own custom html/css in conjunction with the ‘bind’ and ‘unbind’ puzzles.

    However, if there was a way to toggle on/off the tracking (‘binding’) mechanism for standard annotations, I might go back to using to using the standard Annotation tools in Verge. Your thoughts here would be appreciated. Thx again!

    in reply to: Disable html button #54502
    Crunch
    Customer

    Or, if you are working with HTML elements, probably simpler to set the element to disabled.

    To return it enabled, leave the “to” slot in set prop button empty.

    Probably also want to create a :disabled pseudo class in your css to control how it looks in disabled mode.

    Attachments:
    You must be logged in to view attached files.
    in reply to: Saving changes made in the Application! #54477
    Crunch
    Customer

    Alex.. actually, after doing a little research & thinking about, its not strange at all why open source LMSs (ie moodle) don’t bother with SCORM 2004 support.. ‘upgrading’ SCORM is akin to trying to “polish a turd”.

    Moodle apparently developed its own proprietary format for content development that breaks the chains of SCORM standards and thus opens the door for them to make a better experience for creators and learners. Makes total sense to me. Being an open source LMS platform operator, they have that luxury.

    So I am retracting my request for SCORM 2004 support in Verge and exchanging it with a BETTER IDEA.

    Before I get to that BIG idea.. in regards to the limitation on the suspend data field..(even the 64k that 2004 provides still sucks) I know the field size can be expanded from the LMS side (SCORM cloud allows you to tweak it), but there really is no assurance any client LMS you deliver a SCORM app to will have their admins make such accommodations. However where I am going with this, “we don’t need no roads”

    Aside from simpler work arounds like splitting the resume string up and shoving it into unused LMS fields (like the comments field), I came up with a possible workaround that opens the doors to other features.

    First I rewired your Elearning box demo so it saves and resumes from where the user leaves off. Nothing fancy there and I did a messy job (see screenshots)…just a proof of concept that Verge SCORM 1.2 puzzles provide everything needed for creating very advanced SCORM modules.

    I further modified it (not shown in any of the ss) to be able to also save and load a resume string from an external server (via ajax call)… well almost. My ‘external’ server I got it working on was still local.. when I uploaded to SCORM Cloud to test, it threw a Mixed content error as their Cloud is https and my local server’s SSL is no longer setup..doh..

    I will save sharing my BIG IDEA for later after some more testing.. but before I do, does anyone with LMS/scorm experience see any pitfalls so far with being able to save and pull data from external servers (that I control) from within a SCORM module hosted on an LMS server (that I have no control over)?

    I think I am still concerned over cross-domain issues.. My first attempts at sending and receiving data from my external server got blocked, but I was able to modify the headers on my scripts to Access-Control-Allow-Origin* which fixed things. Still worried I am missing something…

    Any input appreciated, thanks!

    Attachments:
    You must be logged in to view attached files.
    in reply to: Unbinding Puzzle not working? #54474
    Crunch
    Customer

    THANK YOU kdv!! Everything is now working properly!

    in reply to: black screen (but local works fine) #54473
    Crunch
    Customer

    Have you brought up your browser console inspector to check for errors?

    I had a black screen earlier this week when running on local host/verge app manager, but I was doing some crazy experiments in blender (v 3.2.1) which I finally concluded ‘broke’ something in blender which jacked up the export verge gltf function.. After restarting blender and exporting a new gltf, everything was working again.

    Like xeon said, lots of possibilities .. more info would help us help you troubleshoot.

    in reply to: Saving changes made in the Application! #54444
    Crunch
    Customer

    Of note, if you look at the attached screenshot of my local storage in post above, notice the ‘ispring’ key in there.

    Ispring is an Elearning authoring tool similar to Articulate that I know you are familiar with. Their ‘resume’ feature works by writing out a JSON formatted text string that stores progress (ie “lastslideviewed: 5”, etc).

    Of course since every Ispring “app” runs off the same cookie cutter template, restoring the app to where the user left off (last viewed slide, what links have been clicked, etc) is a much simpler scenario compared to say a custom Verge app.

    Articulate is a much more robust authoring tool that allows for variables, custom javascript, custom object states.. More moving parts means of course means more data for the save/resume function and from what I can tell, they actually run their ‘resume string’ through compression before storage.

    Which makes sense, as I know from experience that string size can get beefy really fast.( In case you missed it on separate post, I mentioned the major bonus of upgrading from SCORM 1.2 to SCORM 2004 is the ‘suspend data field’ (on the LMS) goes from a limit of 4096 characters to 64,000 characters)

    I believe the max size for local web storage 5 megs per app, so plenty of space there. B-)

    in reply to: Saving changes made in the Application! #54441
    Crunch
    Customer

    I think what you are looking for is something like a “resume” feature that reloads the user app to the exact same state it was before closing the browser.

    That would be a VERY nice feature/puzzle to have in Verge. So why don’t we don’t we have it?

    Good question.. I for one never really thought much about requesting it as my understanding has always been ‘saving to disc’ means having to configure something to store it in – meaning database setup, php scripting, and other fun stuff that involves coding… Basically, something way out of scope for Verge3d developers to invest time in much less trying to provide user support for.

    *Wordpress being the exception here, as its standardized, mainly codeless option for Verge users to be able to ‘plugin’ an online DB storage solution. However, not everyone using Verge uses, or wants to use, WordPress.

    So I suppose I had ruled the idea that there could be any EASY button (puzzle) to implement a ‘save to disc’ and ‘resume’ feature for Verge apps… but that was before I learned about window.localStorage

    https://www.w3schools.com/jsref/prop_win_localstorage.asp

    It is so simple to use and from what I see, it’s a standard feature across all major browsers.

    So far, what I have managed to put together is a simple scheme where I create a dictionary with the variables I want to save (as Yuri and company have been advising as a solution for years), then convert it to a string to save to local storage.

    When my app loads, it checks localstorage to see if my key is set, if its not there, I run a procedure to set their default values – if the key is set, I load the string value into a JSON to setup a dictionary with the saved values, then run a procedure to set my variables to those values.

    Being able to simply save and load variables is great – but, its still far off from being an easy button for a ‘resume app state’ feature.

    You basically have to wire another layer of logic into your app to deal with the event of reloading variables and setting things to get back to the saved state where you left off. If your app allows users to modify any properties of objects (position, color, textures, clones etc), then things get even more complicated.

    It would be SO nice if Verge developers could come up with something that could essentially take a ‘snapshot’ of an apps current state (variables, object properties, etc) that could then be automatically restored/resumed on command.

    Still not sure how technically feasible such a feature would be, BUT with an essentially universal storage option (web local storage) open to all Verge developers (and end users) on the table… I now just have to ask the question to the Soft8Soft team.

    Yuri? Your thoughts?

    For starters, maybe a “create suspend data string” puzzle that simplifies the process of gathering all variables used in the app and writing their values, along with any object properties, when invoked at runtime, and writing out a stringified JSON formatted text string?

    With options to then save that string to local web storage, send to database, or whatever?

    Not sure what the puzzle looks like to load/unwrap the info back into the app as part of the resume process, but I am sure you guys could figure something out.

    Attachments:
    You must be logged in to view attached files.
    in reply to: Updating Update Instructions v4 + #54354
    Crunch
    Customer

    thanks, forgot about the wiki..

    in reply to: SCORM Generator Icon Missing from App Manager #54353
    Crunch
    Customer

    Duh.. thanks Yuri.. sorry.

    I think I read somewhere where adding SCORM 2004 3rd edition might be on the road map?

    Suspend data limit on 1.2 is like 4kb vs 64kb on 3rd edition.

    I modified the elearning demo a bit so it would write/store some variables (like step number) in the suspend-data bucket and then upon restarting the course, it restores everything (variables, animation steps) to where I left off.

    I was no where close to exceeding the 4kb limit yet, but I can imagine more complicated projects will need that bigger 64kb bucket.

    Curious… is there an easy way to use something like the Save State puzzle to capture all object states and variables, but instead of just storing it to memory, exporting it as a JSON.stringify to text, that can then be stored in the SCORM suspend-data field?

    Then next time the course is started, all that data reloads and sets your scene just as you left it?

    That would be cool… also, very minor suggestion, any future work on verge SCORM, an export option to remove files that aren’t needed for playback (blender files, backup data puzzles etc) from being added to SCORM manifest. I go in and delete them by hand, kind of a pain though, but I can live with it.

    Other than that, as always, SOFT8SOFT is somehow still making everything better and better!! Good job guys, RUSSIAN LIVES MATTER!! Thx!

Viewing 15 posts - 46 through 60 (of 158 total)