Questions about teleporting - Google Daydream VR

Recently I have decided to create a VR application just to test out different features (Mainly just teleportation). I have however bumped into a problem. While trying to teleport to places the controller will sometimes glitch up to indicate that I will be teleporting on top of a wall. I was wonder, what would be the best method of creating a teleportation method where you can't teleport behind walls and you can't teleport on top of them. I know what my problem is it's that I have a collision box on my walls but I want to have it so you can't teleport through the walls. I'm a beginner with Unity and this is probably whey I can't find a way to fix it.
Information:
Application : Unity 5.6.1f1
Teleportation Method : Google's elements teleportation. (Open the Google element's teleportation scene and added my own objects)
Current form of collision : Mesh collider the shape of my objects
Screen shot labels
1. House model with textures
2. Highlighted collision meshes
3. The area I get problems (When pointing the controller at any wall it will move the teleportation marker to the top of the wall)
If you need a copy of my Unity Project, just download it here, extract it and open the scene "Nevis" in the folder "Nevis" while in Unity. (File will be available in a 4-8 hours because my internet connect is super slow)
https://drive.google.com/drive/folders/0B_esR0mIq50vVVBEeFcxZ3F5YWs?usp=sharing
I know the texturing work isn't great and my lighting is strange but this is just a test of the teleportation system.

Related

Multi-Touch SDK for Resistive Screens V1.0 Beta

Multi-Touch SDK for Resistive Screens V1.0 Beta
Requirements:WM 6, 6.1, 6.5 Professional
Overview: None
Features:
*Pinch to Zoom Support
*Drag (swipe) support.
*Replacement events for the mouse move fires only when a single finger detected.
*Multiple events based on gestures.
*Performance optimized, memory footprint is minimal.
To use this SDK you will need Visual Studio Professional or better. start a new Smart Device Project, and add the SDK to your references.
The SDK is consists of only one object, which is DualTouchSDK. We will need one instance of this class for every control that supports pinch to zoom or drag in your application.
There are several methods, properties and events that can be utilized in order to achieve multitouch effect. i have done my best to make this as easy as possible, my code is now complex but it is necessary to achieve easy implementation.
Download Instructions:
1. open
2. look for "Rotate To Exit\bin\"
3. unzip Debug folder and open the .exe on PPC.
File: http://www.windowsphoneme.com/index.php?file=431
Thanks go to
Thomas Graves
Very nice any Apps being made to demonstrate this?
Can I zoom photos with this app? I see video where someone doing it. Sorry for my english .
http://www.youtube.com/watch?v=ld_kIpLWa3Y
Yes it is possible but someone needs to make apps to make use of this.
It is a sdk.

[APP] SimplePiano V4.3 [21.06.10] [ VGA / WVGA / QVGA / HVGA ]

SimplePiano V4.3​
SimplePiano with the SP_mickesjo WVGA Skin​
As the name suggests it's a simple piano application. I took over "CrisRowlands SimplePiano" after Cris decided to give up developing it (Original thread). The main reason I took over is because I wanted to implement multitouch. I own HTC HD2 so my emphasize was on the WVGA format, but the application should also support VGA resolution. It should be pretty easy to create skins for other resolutions as well...
Features:
WVGA, VGA, QVGA, HVGA versions.
It has three octaves.
Record and Playback.
Dualtouch via the PinchToZoom events (not ideal but the best I could find...)
Customizable skins.
Customizable sounds (currently include Piano, Acoustic Guitar & Violin).
Currently in develop:
Continuous sliding of the keyboard view.
Change the skn files to support arbitrary number of keys.
CHANGELOG:
21.06.10(4.3)
Added two single finger chord modes (Major and Minor) - Requires special skin. I don't like this solution so I didn't follow it. If anyone is interested in this please let me know...
Added minimum note sustain length control (in milliseconds). If minimum sustain is not specified the full sample is played.
Added support for looping over the sample (by looping over the sample) Two samples can be specified, one is played once in the beginning, and the second is played over and over until the key is released. If the second sample is not specified the first one is used for the loop. This feature requires appropriate sound samples to be available.
Sounds are controlled via "Sound.lst" file. Different behavior of the notes (those mentioned above) can be controlled via this file.
Added OK/Cancel button to the settings dialog.
Vibration LED index can be now set via the "Device" tab in the settings dialog.
Polyphony can control to the "Device" tab in the settings dialog.
Fixed a problem where SimplePiano closed if an incompatible skin was chosen.
Fixed issue where bitmaps were not always clipped to bounds.
Fixed crash when sound file did not exist.
Changed applications icon (thanks mickesjo)
11.06.10(4.2) Added some exception handling during initialization and a vga skin for the Default skin. Fixed the link to point here.
10.06.10(4.0) Initial release including the new features (dualtouch, recording etc. as desribed in this post).
Screenshots:
Skins: Default WVGA skin, MewSkin WVGA skin, MewSkin VGA skin, SP_mickesjo WVGA skin, Saplorer UI WVGA skin
Settings Dialog​
Download:
SimplePiano V4.3 (WVGA/VGA/HVGA/QVGA)
Alternative Download(Uploading) (including mickesjo's skin and Osprey00's alternative piano sounds - thanks to Osprey00)
Additional Skins:
(must be installed in the same location as the main application)
HVGA Rescale of the original skin (thanks to sam-2007 on post #130).
MewSkin (WVGA/VGA)
SP_mickesjo (WVGA/VGA/QVGA), thanks mickesjo. atlaswing created replacements key images, these can be found on post #47. HVGA version (thanks to sam-2007 on post #130).
Saplorer UI (WVGA), thanks xclarinetistx
Additional Sounds (thanks conantroutman):
(must be installed in the same location as the main application)
Violin
Acoustic Guitar
Piano Samples 8bit (lower quality) - these samples replace the default piano samples that comes with SimplePiano.
Alternative piano samples (thanks to Osprey00)
Rectangular QVGA (320x320) patch - extract the files from the zip files into the "Default" skin folder.
Click to expand...
Click to collapse
Previous version:
SimplePiano V4.2 (WVGA/VGA)
For QVGA the modified default skin has to be installed too.
Skins:
Default (WVGA/VGA/QVGA)(CrisRownlands' original skin)
MewSkin (WVGA/VGA)
SP_mickesjo (WVGA/VGA/QVGA), thanks mickesjo
Click to expand...
Click to collapse
Other Notes:
If I may quote Cris:
I hope you folks like it
Feedback is appreciated, improvements can only happen if I know what you folks want.
Click to expand...
Click to collapse
Some documentation
Some useful information about the *.skn files and the Sound.lst file.
The *.skn files
These files define the location of the different items on the screen. For each screen resolution the skin supports there should be one skn file. When a skin is chosen, SimplePiano search the skin directory for a compatible skn file and loads the skin according to its content.
here's an example for a skn file
Code:
Display=0,0,480,800
This line declare the target resolution of the skin. It is given in the following format: 0,0,Width,Height
Code:
Name=mewskin
The name of the skin, currently not used for anything.
Code:
Octave1=360,10,120,120
Octave1Image=OneNormal.png,OnePressed.png
Each key should include those two lines. The first line describe the location and size of the image, using the following format:
KeyName=Left,Top,Width,Height​The second line points to the images to be used with this key. The following format is used:
KeyNameImage=NormalStateImage, PressedStateImage​Where KeyName is one of the following:
Octave1, Octave2, Octave3
Quit, Settings,
Record, Replay,
NormalKey1, ..., NormalKey8
SharpKey1, ..., SharpKey6​All these keys must be specified.
NormalKey# stands for the normal note keys (C,D,E,F,G,A,B & C)
SharpKey# stands for the semitone keys (C#, Eb, F#, Ab, Bb & C#)
In addition the toolbar background has to be specified as well:
Code:
Toolbar=360,0,120,800
ToolbarImage=Background.png
unlike a regular key here only one image is supplied.
In addition the optional chord modifier keys can be specified (using the same logic):
Code:
ChordMajor=-30,0,60,60
ChordMajorImage=MajorNormal.bmp,MajorPressed.bmp
ChordMinor=-30,60,60,60
ChordMinorImage=MinorNormal.bmp,MinorPressed.bmp
The Sounds.lst file
This file defines the sounds to be used with the selected instrument. First of all it binds a note to a wav file. In addition different properties can be set for each note, as I'll explain below:
Code:
[1]
The file is divided into octave, currently there are 4 octaves (since SimplePiano also includes C4 &C#4). Each octave is titled with its number.
Code:
C=Data\C1.wav, Loop=0
Then, the sound files for this octave are given. The following format is used:
Note=FileName, Option1=value1, Option2=value2,...​Note is one of the 12 notes in an octave. The following notation is used: C,Cs,D,Eb,E,F,Fs,G,Ab,A,Bb,B.
Then a relative path to the sound file is specified. Followed by a list of parameters and values pairs separated by comas. These parameters are optional. The following parameters can be declared:
Loop=#​This specify how many times to loop over the sample (0 - plays the note once, -1 loop infinitely). If a non-zero value is given for a note, the note will be played as long as the key is pressed, once the key is released the playing will cease immediately. By default (if not specified) Loop=0.
MinimumLength=#​This specify the minimum length (in milliseconds) a note is to be played. If this value is -1 the sample will be fully played. any other (non-negative number), the note will be played at leas this amount of time. For example, if a value of 500 is specified, every touch on the keyboard will generate a 500ms sound. If the key is held longer than 500ms the sound will stop when the key is released (or the sample reaches its end). The default behavior depends on the "Loop" setting: If Loop=0 MinimumLength=-1. Otherwise MinimumLength=0.
Good job man
Good luck with this
I don't suppose you could maybe send me a copy of the source code etc?
Maybe upload it & give me a link.
The main reason I wasn't able to implement these features is because I don't know how. It would be quite interesting to learn about how you did it
good job on significantly improving chris' already nice work
And dang you've beaten me to first reply
ephestione said:
good job on significantly improving chris' already nice work
And dang you've beaten me to first reply
Click to expand...
Click to collapse
cris_rowlands said:
Good job man
Good luck with this
I don't suppose you could maybe send me a copy of the source code etc?
Maybe upload it & give me a link.
The main reason I wasn't able to implement these features is because I don't know how. It would be quite interesting to learn about how you did it
Click to expand...
Click to collapse
Thanks guys...
Cris... no problems, just let me tidy the project a little...
I love your simple piono 4.1. Now 4.2 should be better than 4.1. Thanks for the updated version...
OP, thanks for the APP. I look forward to future updates once more of the bugs have been knocked out!
Update: added a download link to the mewskin, this is nicer looking especially for the VGA resolutions (but also on the WVGA). Kudos to the author (xxmewstarxx)...
Just install the mewskin.cab after installing SimplePiano (no need to reinstall).
Z.
for now, I vote for default to 0 interval between multitouch keypresses, instead of 300ms
Not much of a big deal as you can change it yourself, yet if you already restarted to register multitouch, and you change that option later, you need to restart again
I am also thinking about spanning through more than 3 octaves, and a different method of changing the octave that lets you do that faster and more easily, will report back when I have a better idea
Nice!
Unfortunately the space on the screen ins't that much but if there was a way to "somehow" squeeze in and create spaces for Chord Symbols/Buttons and when these are being pressed, a chord is being played (a flat chords, an arpeggio). Said chord-sounds could be default-sounds distributed with the application or pre-recorded by the user. Something similar to those Casio-chords (or whatever they are called) which do the fingering for you. Another option could be that it played just the root of the chord so one could create some variety and a little base-line while playing the melody on the normal keyboard.
The problem, I guess, is surely the space on the screen and the limit of two touches simultaneously.
Just some thoughts....
ephestione said:
I am also thinking about spanning through more than 3 octaves, and a different method of changing the octave that lets you do that faster and more easily, will report back when I have a better idea
Click to expand...
Click to collapse
tilleke said:
Nice!
Unfortunately the space on the screen ins't that much but if there was a way to "somehow" squeeze in and create spaces for Chord Symbols/Buttons and when these are being pressed, a chord is being played (a flat chords, an arpeggio). Said chord-sounds could be default-sounds distributed with the application or pre-recorded by the user. Something similar to those Casio-chords (or whatever they are called) which do the fingering for you. Another option could be that it played just the root of the chord so one could create some variety and a little base-line while playing the melody on the normal keyboard.
Click to expand...
Click to collapse
Well, as for the 3 octave limitation, that could be easily broken, just that I don't have the sounds... If someone's willing to generate them I'll include them in the application.
About changing octaves I thought of two possibilities, one would be to just add two buttons at the end of the keyboard that moves one octave up or down. Another possibility is to create a slider above (or below) the keyboard on which you can slide left or right to change octaves. Sliding can also be continuous so that the first note is necessarily C. Such slider can also have some buttons to toggle chords buttons as tilleke suggeted...
tilleke said:
The problem, I guess, is surely the space on the screen and the limit of two touches simultaneously.
Click to expand...
Click to collapse
I really hope HTC will release some proper API that supports real multitouch...
Z.
tilleke said:
Nice!
Unfortunately the space on the screen ins't that much but if there was a way to "somehow" squeeze in and create spaces for Chord Symbols/Buttons and when these are being pressed, a chord is being played (a flat chords, an arpeggio). Said chord-sounds could be default-sounds distributed with the application or pre-recorded by the user. Something similar to those Casio-chords (or whatever they are called) which do the fingering for you. Another option could be that it played just the root of the chord so one could create some variety and a little base-line while playing the melody on the normal keyboard.
The problem, I guess, is surely the space on the screen and the limit of two touches simultaneously.
Just some thoughts....
Click to expand...
Click to collapse
zevele said:
Well, as for the 3 octave limitation, that could be easily broken, just that I don't have the sounds... If someone's willing to generate them I'll include them in the application.
About changing octaves I thought of two possibilities, one would be to just add two buttons at the end of the keyboard that moves one octave up or down. Another possibility is to create a slider above (or below) the keyboard on which you can slide left or right to change octaves. Sliding can also be continuous so that the first note is necessarily C. Such slider can also have some buttons to toggle chords buttons as tilleke suggeted...
I really hope HTC will release some proper API that supports real multitouch...
Z.
Click to expand...
Click to collapse
I was thinking the exact same things regarding octave switching, more like automatic recognition, as in when you press a key near the border, the keyboard gets slided past the border of a X length to accomodate for the "direction" you're taking
And tilleke suggestion is very interesting.
Here's my take: just like you play two sounds together when you do multitouch, you don't need to really record a chord, you only need to play 3 sounds together.
Example, put a swith on top, with three positions:
1) Normal
2) Major chord
3) Minor chord
Then you press, say, C
Cases:
"normal" : the note C is played
"major" : the notes C E and G are played
"minor" : the notes C D# and G are played
THe switch would be a slider onr, because a toggle one (1-2-3-1-2 and so on) would take too long if you need 1 and you're currently on 2.
Glad to see somebody picking up on this where Chris left off.....
If you want more octaves I'd be happy to provide them.
Just out of interest, are the samples in this version the same ones from Chris' original version?
conantroutman said:
Glad to see somebody picking up on this where Chris left off.....
If you want more octaves I'd be happy to provide them.
Just out of interest, are the samples in this version the same ones from Chris' original version?
Click to expand...
Click to collapse
More samples can't hurt, but at the moment I'm trying to solve the chords feature...
The samples are the same ones from the previous version.
Thanks,
Z.
Totally awesome. Poor WM support. it seems like everyone writes off Windows platform as thou its limited, but if you had the support you show with this simple piano, the experience level and communication would be thought on a positive (note) about windows platform... GOOD JOB!!
Thanks zevele for the work!
xda member TWolf has a FlashPiano that he stopped developing. The program itself has a great sample of 4 instruments in mp3 form, but I don't know enough about music to rename them. Maybe somebody here can take a look and rename the files. Here's the link and source code from TWolf:
http://forum.xda-developers.com/showpost.php?p=2806409&postcount=126
Would be nice to include mellotron in this, like the Manetron for iPhone
http://www.youtube.com/watch?v=pcIRG1X0VMs
dio62000 said:
Would be nice to include mellotron in this, like the Manetron for iPhone
http://www.youtube.com/watch?v=pcIRG1X0VMs
Click to expand...
Click to collapse
Seeing these applications on the iphone just depresses me... they run so much better than on the windows mobile...
Specifically to your question... If you mean playing several instruments in parallel, it shouldn't be to complicated to implement...
Okay, here's my idea for a solution for the chords feature, I've added two buttons below the keyboard one toggles a major chord and the other a minor. As all other buttons these can be moved and changed through the skin files. Please try it and let me know what you think...
SimplePiano
http://rapidshare.com/files/398328285/SimplePianoV43beta.CAB
MewSkin
http://rapidshare.com/files/398329265/mewskincabV43beta.CAB
Thanks,
Z.
Can this be hosted somewhere else? Rapidshare gives some of us problems and the the download limitation sucks. I can't download the v43beta after just downloading the v42 version. My suggestion is drop.io or dropbox... You can even use the free Skydrive for this.
Thanks for the good work...

Some tips on graphics for a coder coming from ActionScript

Hello, I come to ask only for a few tips or merely a bit of guidance on my development for Android.
I'm pretty skilled in ActionScript and new to Java. In this thread I ask how would I do some things in Java, providing the equivalent in AS.
I intend to draw shapes on screen and use them as UI - as a deeper layer within the Android XML UI.
In ActionScript, I can create Sprites or DisplayObjects, edit their "graphics" property like
// create a DisplayObject instance
_someDisplayObject = new DisplayObject();
// create a white square inside it
_someDisplayObject.graphics.beginFill(0xFFFFFF);
_someDisplayObject.graphics.drawRect(0,0,100,100);
_someDisplayObject.graphics.endFill();
// place it dinamically in a position relative to the Stage (canvas)
_someDisplayObject.x. = Stage.stageWidth / 2;
------------------
Also, are there Tweening libraries like TweenLite or Tweener ? Those which allows to create animation with one like of code like:
// move display object to position X = 300 with half transparency, in half second
Tweener.addTween(_someDisplayObject, { x:300, alpha:0.5, time:0.5, transition"EaseOutSine" } );
------------------
Can anyone give a clue, on what am I looking at, to try the same in Java for Android ?
Just an advice letting me know where to start would be greatly appreciated. :fingers-crossed:
Thank you !
You can create shapes in Android using XML or in your Java code or with both. You can also create Animations including Tween animations. (I haven't used animations before though so I can't help any further).
The first place to go is the Android Developers website (d.android.com/develop) and then in the API Guides section under User Interface option and App Resources option in the left hand menu. There are samples included in the Android SDK under API Demos which you can use to get your started.
I can't post links because I haven't made 10 posts yet, sorry.
As you already know, the Android display model is more complex than the one used in ActionScript.
There is no direct equivalent for the graphics property from AS3 in Android.
To draw low-level graphics you can use the canvas parameter provided in the onDraw method (you override it in your own class inherited from android.view.View).
As for the Tweening, like Kavrocks said, try to learn how to use the Animation class and it's extensions, because they are built inside the android framework, therefore optimized (that's just my opinion). All the tweening engines in AS3 are based on dynamic calling of properties (by name). Java uses the reflection api for calling dynamic properties, but it is much slower than a direct call (from a specialized Animation class, in this case).
I am also trying to figure out different modes of applying animations and effects in actionscript. There's a tutorial on Lynda where you can see som tips from migrating from AS to Java, and HTML5, both of this can help you understand better how to apply them in your application.

[FREE][GAME]Guess That[8+]

"Guess That" is a 3-in-1 Brain & Quiz Game set to challenge your knowledge.
21 Level packs containing each 20 levels forming in total 420 levels are waiting to be guessed.
"Challenge your Knowledge"
__________________________________________________________
*Guess That Flag. Can you find that flag? (140 Flags)
*Guess That Logo. Can you find that logo? (140 Logos)
*Guess That VIP. Can you find that VIP? (140 VIPs)
*Use the clues when you get stuck in a level.
(You win one clue for every two guessed level)
__________________________________________________________
__________GAME ACTUALLY FEATURES__________
1. 3 mini games in it.
2. Simple intuitive user interface! Simple quizz game meachism.
3. Unified experience througout mutliple devices.
4. Dynamic cross game-pack score system.
5. Dynamic cross game-pack clues system.
6. Fun cool statistics
7. Two themes. One light and one dark.
8. Leaderboards with username and country selection.
Removed Status Bar
Fixed Background Image
Removed landscape view
Link to Store http://www.windowsphone.com/en-us/store/app/guess-that/57b68b1e-f8a8-4db4-abb1-a1b79ef1f285
Can you guess them all and beat the high score from the android world?
Reserved
I will try the Game
And Thanks for Add and All luck for your game :cyclops:
Good luck with your game guy!

Daydream Elements: Free VR Development Guidebook App

Daydream Elements by Google is a new, free app that serves as a guidebook, covering VR development basics. While those familiar with VR development would probably be disinterested in this new app, as it is so basic, it’s a great starting point for those unfamiliar with VR. The app showcases six examples of tips and tricks for VR development, complete with the pros and cons for their use.
According to Upload VR, “three of these [examples] are concerned with locomotion. One details teleportation, another showcases smooth movement with restricted peripheral vision, and another shows third-person gameplay. Interestingly examples of all three of these types of experiences have hit Daydream in the past few months. Teleportation can be seen in the VR port of Layers of Fear, while the excellent Eclipse uses smooth movement. Meanwhile both Lola and the Giant and Along Together both used a third-person camera that followed a main character.”
Google’s developer page outlines the following examples below:
Locomotion: techniques for enabling navigating a VR environment
Three ways to achieve locomotion:
Teleportation is locomotion technique for apps using first-person perspective that allows the user to near-instaneously move to a target location. This technique reduces the simulator sickness that many users feel when the virtual camera moves.
Tunneling is a technique used with first-person locomotion (such as walking
) where, during movement, the camera is cropped and a high-constract stable grid is displayed in the user’s peripheral vision. This is analogous to a user watching first-person locomotion on a television set.
Chase Camera is a technique used with third- person locomotion, where the user is controlling a character. Standard third-person camera implementations are problematic in VR and contribute to simular sickness. Chase Camera offers predictable motion – camera rotation only occurs under user direction, and small character movements don’t move the camera at all.
Menus and Virtual Controls: The Daydream controller only exposes two buttons to developers: the clickable touchpad, and the app button. For many developers, two discrete controls does not provide a rich enough set of commands for the games and applications that they would like to create. One solution is to present the user with virtual controls for the app’s command scheme.
Click Menu provides the user with a radial menu of commands emanating from the cursor when the menu is invoked. Because users must click directly on options, this menu design trades the speed of a more gestural approach with the control of discrete clicks and scales well with complex command hierarchies.
Swipe Menu leverages the Daydream controller touchpad to allow the user to quickly select between a small set of commands. This menu trades efficiency for accuracy and does not scale well to large number of commands.
Rendering and Lighting: Performance is critical to VR apps but can be especially challenging on mobile GPUs. Many commonly available mobile shaders and per-pixel lighting solutions provide high quality results but perform poorly on mobile VR systems due to extremely high resolutions, rendering multiple views, distortion and general mobile performance issues.
The Rendering & Lighting demo uses Daydream Renderer to showcase rendering effects that are typically difficult to achieve on mobile hardware. This scene demonstrates Daydream Renderer features like per-pixel lighting, tangent-space normal maps, dynamic shadows, realtime specular highlights, and reflections.
Daydream Rendering and Lighting Demo included as part of Elements as a demonstration of the Daydream Renderer’s capabilities.
The app also spells out all known issues, which you can find here.
This app is definitely for newcomers to VR, however since many people are not yet familiar with the space, it seems like a user-friendly platform that encourages people to try their hand at developing.
Source: appdevelopermagazine

Categories

Resources