What unity tools should I use to draw 2d sprites on the screen? - unity3d

I am writing that in the likeness of a visual novel in unity. But not much oriented in its tools and assets. The idea is that I only need to draw certain sprats within the screen: characters, background, text, effects.
But only within the boundaries of the screen and it is desirable to control the position of these sprites should be in relative coordinates at the screen itself.
But what is better to use for this?
I assume that canvas suggests something similar (a UI display which should not go beyond the boundaries), but even if how exactly to draw? put panel on top of each other with alpha channel for each "layer": background, character, text?
But how then to move sprites?

You could use the ganvas ui of Unity to put your backgrounds, Text and decision Buttons on the screen.
Then you should create a Dialogue Parser Script wich takes a text file, which will hold the actual text of what is happening and then present that text to the player.
The file should contain information of the character, what each character should say, and what choices to give the player.
Then you need a script that will actually show the game dialogue.
But I think there are plenty usefull tutorials on youtube and so on to create a simple 2D visual novel game.
If you never did a 2D Game in Unity before you could take a look at the 2D Game Tutorials:
https://learn.unity.com/project/creator-kit-rpg?language=en
This tutorial teaches you this 2d game creation fundamentals and only take one hour.
If you want to create a visual novel game without programming you could use this free Visual Novel Toolkit from the Unity Asset store:
https://assetstore.unity.com/packages/templates/visual-novel-toolkit-free-9416

Related

Building custom Mixed Reality (Augmented Reality) setup in Unity

I'm tasked with developing an application, which would emulate augmented reality in a virtual reality application. We are using Google Cardboard (Google VR), and want to show the camera images (don't mind the actual camera setup, say I already have the images) to the user.
I'm wondering about the ways to implement it. Some ideas I had:
Substituting the images rendered for each eye by my custom camera images.
Here I have the following problems: I don't know how to actually replace the images that are rendered to the screen, let alone to each eye. And how to afterwards show some models overlayed on top of the image (I would assume by using the Stencil Buffer?).
Placing 2 planes in from of the camera with custom images rendered onto it
In this case, I'm not sure about the whole "convenience" of the user experience, as the planes would most likely be placed really close, so you only see one plane with one eye, and not the other. Seems like it might put some strain onto your eyes, because they would close on something that is really close to you.
Somehow I haven't found a project that would try to achieve something like that, and especially with all the Windows Mixed Reality related stuff polluting the search results.
You can use Vuforia digital eyewear, here is the documentation for it.
And a simple tutorial on YouTube.

Vuforia Real time Augmented Reality

I am new to unity and vuforia, I would like to know is it possible that instead of using a image target in vuforia, can I do something like augmenting real time hand drawn illustration? For instance, when I start to draw something on the AR app, then a 3D object representing the object I am drawing would also appear?
Vuforia can recognize pre-defined images, with enough features to be detected. If you draw by hand such an image, that's fine. Otherwise - the answer is no. Just an FYI - Vuforia also has text recognition, if you'd like, take a look here: Vuforia's Text Recognition
Of course that if a detection was made, what happens and what is drawn is up to you, so of course a 3D object is an option.

iPhone iOS how to create a room for an iPhone game demo?

I'm building an iPhone core motion game demo and would like to have a virtual "room" around the user. The user would be using the phone with the core motion to "look around" the room through the phone. Attached is an example.
I'm not looking for anything fancy. 4 solid color panels for walls and 2 panels for the floor and ceiling would do. Pretty much a large cube with the middle at the user's location
What is the quickest way for me to create a room with a box geometry, putting the user in the middle? Can this be done with UIKit objects, or do I need to use openGL to render the panels? Maybe there's some kind of a game engine that I can use for these purposes?
I would want to rotate the room in the future.
Thank you for your input!
You won't be able to create a 3 dimensional environment without using OpenGL in some form. The best way to get started is to follow a good tutorial on OpenGL such as this one. You could even take this tutorial and put the camera inside the cube and voila, instant room. You would just need to add view rotation logic from core motion and you would be set.

How to create a level with curved lines with cocos2d + Box2d on the iphone?

I'd like to create a game that has levels such as this: http://img169.imageshack.us/img169/7294/picdq.png
The Player moves "flies" through the level and mustn't collide with the walls. How can I create such levels?
I found that piece of software: http://www.sapusmedia.com/levelsvg/
It's not that cheap, so I wonder whether there is another way to create such a level as shown in the picture above...?
You can do that pretty easy by reading the color value of pixels at specific places of the level. Take for instance that your level background is white and the walls are black. In order to perform collision detection, whether your character had hit the wall, you would do the following:
-take your character's position
-look at the color values of the pixels of your map that overlap with character's bounding box or sphere at that position
-if any of those contain black color you have yourself a collision :)
Now if your level is all colourful, you would want to build a black and white mask texture that would reflect the wall surfaces of your actual map. Then use the coloured map for drawing and the bw map for collision detection.
I'd spend a good solid couple weeks getting caught up on Objective-C, Xcode, Interface Builder, and Apple iOS documentation. There are many good tutorials out there and sample Xcode projects to download and run on the iPhone/iPad simulator.
If just starting out, some of those quick startup libraries can rob you of the intimate knowledge you'll need to create the intricacies and nuances you'll need when your application starts to reach outside the boundaries of the code sandbox. Not bad to use as learning tools or to speed up development time, but I'd advise against using them as a crutch until you strengthen your developer legs. Crawl. Walk. Run!

How do I create a floor for a game?

I'm attempting to build a Lunar Lander style game on the iPhone. I've got Cocos2D and I'm going to use Box2D. I'm wondering what the best way is to build the floor for the game. I need to be able to create both the visual aspect of the floor and the data for the physics engine.
Oh, did I mention I'm terrible at graphics editing?
I haven't used Box2D before (but I have used other 2D physics engines), so I can give you a general answer but not a Box2D-specific answer. You can easily just use a single static (stationary) Box if you want a flat plane as the floor. If you want a more complicated lunar surface (lots of craters, the sea of tranquility, whatever), you can construct it by creating a variety of different physics objects - boxes will almost always do the trick. You just want to make sure that all your boxes are static. If you do that, they won't move at all (which you don't want, of course) and they can overlap without and problems (to simulate a single surface).
Making an image to match your collision data is also easy. Effectively what you need to do is just draw a single image that more or less matches where you placed boxes. Leave any spots that don't have boxes transparent in your image. Then draw it at the bottom of the screen. No problem.
The method I ended up going with (you can see from my other questions) is to dynamically create the floor at runtime and then draw it to the screen.