https://web.archive.org/web/*/citrusmoothie.tumblr.com

The original blog used to be full of them, but then Tumblr got all worried MMD was child porn.

2

(180 replies, posted in UFE 1 Source (Deprecated))

Fireballs only seems to happen to player 2. The best I could find was that there is an option to mirror the animation for player 2 and it seems like with the inverted x, it is likely as simple as disabling that mirroring. The only problem being there is no mirroring checkbox, so it is likely hardcoded lol.

3

(180 replies, posted in UFE 1 Source (Deprecated))

I found a few other moves that need inverted x values (self applied forces / projectile)

Joan / HouyokuSen
Kyle / Launcher

Need further testing:

Kyle / FireBallHeavy
Kyle / FireBallLight

I managed to capture some video of an unusual issue that randomly happens after adding the z-axis. I haven't tracked down the cause or if some combination of auto-correct values will fix it.

[media]https://youtu.be/yJ16cQUE2Rs[/media]

4

(3 replies, posted in Showcase)

While the VR version is on hold, the game has been published for testing. It isn't complete, but the price reflects being in beta.

https://play.google.com/store/apps/deta … hat.daemon

Fixing user-end debug mode options

Grab the OptionsScreen.prefab and drag it to a scene (any scene, it doesn't stay there)
Expand the prefab, then expand Background, and finally expand Control_Debug
Select the OptionsScreen prefab and scroll down to Debug Mode Toggle
Drag the newly visible Toggle_Debug to the field next to Debug Mode Toggle
Do not forget to drag the OptionsScreen back onto the one in the folder view to update it
You may now remove the OptionsScreen from the scene it was dragged into

Smoother mobile intro video support

Open VideoIntroScreen and find the OnShow methods.

Replace the code inside #if !UNITY_EDITOR && (UNITY_ANDROID || UNITY_WP8 || UNITY_IOS) with

public override void OnShow (){
    base.OnShow ();
    StartCoroutine(PlayVideoCoroutine());
}

and just below it (does not need to be inside the if), add

IEnumerator PlayVideoCoroutine()
{
    Handheld.PlayFullScreenMovie(
        this.mobilePlatformsPath, 
        Color.black, 
        FullScreenMovieControlMode.CancelOnInput,
        FullScreenMovieScalingMode.AspectFill
    );
    yield return new WaitForEndOfFrame();
    this.GoToMainMenu();
}

which will wait for the video to continue, but also support tapping the screen to skip

Mobile gamepad / touchscreen flexibility

If you are using Control Freak, you may notice the game will become a touch-only layout (or require a lot of additional configuration for Control Freak), which is not necessary with a quick edit to InputTouchController.cs

Find the function protected override void SelectInputType ()
Just below UnityEngine.Object touchController = null; add

string[] controllers = Input.GetJoystickNames();

Next find if (touchController != null){ and replace it with

#if UNITY_ANDROID
        if (Application.platform == RuntimePlatform.Android &&
            (SystemInfo.deviceModel == "NVIDIA SHIELD")) {
            if (touchController != null){
                ((TouchController) touchController).HideController(-1);
            }
            base.SelectInputType();
        } else
#endif
        if (controllers.Length > 0) {
            if (touchController != null){
                ((TouchController) touchController).HideController(-1);
            }
            base.SelectInputType();
        } else if (touchController != null) {

Which will disable Control Freak if a controller is detected

The Android section also forces hardware controller support on the Nvidia Shield. This is because the Nvidia Shield uses Wifi Direct controller connections that are not detected as regular bluetooth controllers but will register as an HID (keyboard / mouse).

You will also want to make sure the Bluetooth permission is included in the AndroidManifest and with Unity 5.1 and higher, enabling the ForwardNativeEventsToDalvik flag helps to make sure input is not dismissed in the Unity core.

If you need a generic manifest to add the Bluetooth permission, a simple version is

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity.plugin" android:versionName="1.0.0" android:versionCode="1">
  <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" />
  <application android:icon="@drawable/app_icon" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" android:debuggable="false">
    <activity android:name="com.unity3d.player.UnityPlayerNativeActivity" android:label="@string/app_name" android:screenOrientation="landscape" android:launchMode="singleTask" android:configChanges="screenSize|orientation|keyboardHidden|keyboard">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
      <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
      <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
    </activity>
  </application>
  <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="19" />
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.WAKE_LOCK" />
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.BLUETOOTH" />
</manifest>

Save this as AndroidManifest.xml in the Plugins/Android folder (create if needed)

6

(5 replies, posted in Showcase)

Twrmois wrote:

So I tried playing, it was kinda hard to do combos, especially when the CPU dishes them out very quick. The game has potential though, and nice visuals/music.

It is good to make sure you fill out the rating survey accurately and don't try to shoot for a lower rating. If Google stumbles across it and disagrees, they issue a violation warning and permanently increase the rating. I published a system tools app that had a single graphic with a little blood in it that is now locked to a mature rating.

7

(3 replies, posted in Showcase)

Because no other mobile VR fight games exist. The camera tracked the player, but first person would no longer be an arena fight. It would end up being a remake of Punch Out.

Either way, the competition ended and the game made it to the final round. Between Unity 5.1 taking over VR control and UFE 1.6 changing the entire GUI structure, the VR version has been temporarily put on hold.

kronos2kool wrote:

Does this work for UFE1.6?

In DefaultCharacterSelectionScreen, add the variables from the first post.

Add the function from the first post, but below the

if (p2SelectInstance != null) {
    Destroy(p2SelectInstance);
}

add in a check for story mode (does not select a player 2)

if (UFE.gameMode == GameMode.StoryMode) {
    return;
}

Then in the public override void SetHoverIndex (int player, int characterIndex)

Comment

if (this.portraitPlayer1 != null){
    this.portraitPlayer1.sprite = Sprite.Create(
        character.profilePictureBig,
        new Rect(0f, 0f, character.profilePictureBig.width, character.profilePictureBig.height),
        new Vector2(0.5f * character.profilePictureBig.width, 0.5f * character.profilePictureBig.height)
    );
}

Add

if (p1HoverIndex != p1LastHover) {
    OnCharacterHighlighted(1, p1HoverIndex);
    p1LastHover = p1HoverIndex;
}

Repeat for player 2 (using the code from the first post)

In the first line of public override void OnShow () add

UFE.canvas.worldCamera = Camera.main;
UFE.canvas.renderMode = RenderMode.ScreenSpaceCamera;

then, just below base.OnShow(); add

OnCharacterHighlighted(1, p1HoverIndex);

Below this function, add the new function

public override void OnHide (){
    Destroy (p1SelectInstance);
    Destroy (p2SelectInstance);
    UFE.canvas.renderMode = RenderMode.ScreenSpaceOverlay;
    UFE.canvas.worldCamera = null;
    base.OnHide ();
}

If you have a project built in 1.5 and want to update to 1.6 through the asset store, don't. Either start a new project and merge the old one into it or import 1.6 to an empty project and update 1.5 manually.

SudhirKotila wrote:

Hi, Please try this once.

In this post guid you how can show 3D Character at CharacterSelectionScreen.

http://www.ufe3d.com/forum/viewtopic.php?id=289

It's a safe guess this is meant for 1.6 but the link you posted is for 1.5

Since they didn't make a guide for 1.5 yet, below is a post explaining it.

http://www.ufe3d.com/forum/viewtopic.php?pid=2155#p2155

10

(180 replies, posted in UFE 1 Source (Deprecated))

http://stackoverflow.com/questions/4770 … -not-apply solved the problem. Looks like Windows whitespace strikes again.

Looks good. Everything is up and running with no install issues other than needing the additional git flags on the merge. Kudos.

11

(180 replies, posted in UFE 1 Source (Deprecated))

Made a clean project, imported UFE 1.6, made a commit in SourceTree, applied the patch, and every file came up rejected.

12

(8 replies, posted in UFE 1 Source (Deprecated))

Steviebops wrote:

Commenting out the line doesn't seem to solve it, the character disappears.

gives these errors:
"Quaternion To Matrix conversion failed because input Quaternion is invalid {1.#QNAN0, 1.#QNAN0, 1.#QNAN0, 1.#QNAN0} l=1.#QNAN0"

"IsFinite(outDistanceForSort)
UnityEditor.DockArea:OnGUI()"

"transform.position assign attempt for 'AnnaUFE(Clone)' is not valid. Input position is { NaN, NaN, NaN }."

Sounds like something is definitely trying to delete it, not replace it at the "wrong time" then.

Some of you may have played games like Dead or Alive 5 that allow sharing a fight to YouTube.

The same can be done on iOS and Android using the service Kamcord (http://kamcord.com) and it is completely free as long as the game is published on Google Play or the App Store.

Head over to the site and get the Unity SDK, import it, and open up the ExampleScripts/RecordingGUI.cs

Comment out the entire OnGUI section and replace it with

void OnGameBegins(CharacterInfo player1, CharacterInfo player2, StageOptions stage) {
            Kamcord.StartRecording ();
        
            recordingStartedAt = System.DateTime.Now;
    }

    void OnGameEnds(CharacterInfo winner, CharacterInfo loser) {
            Kamcord.StopRecording ();
        
            // It is very important to set a descriptive video title for each video.
            // In addition to the video title, setting the level and score also makes
            // the watch experience significantly better.
            double gameplayDuration = (System.DateTime.Now - recordingStartedAt).TotalSeconds;
            Kamcord.SetVideoTitle (winner.name + " vs " + loser.name + " [" + gameplayDuration.ToString ("F2") + " sec]");
        
            // Change this to whatever you want for level, score, or any other key and value pair
//         Kamcord.SetDeveloperMetadata (Kamcord.MetadataType.level, "Level", "1");
//         Kamcord.SetDeveloperMetadata (Kamcord.MetadataType.score, "Score", "1000");
            Kamcord.SetDeveloperMetadata (Kamcord.MetadataType.other, "Winner", winner.name);
            Kamcord.SetDeveloperMetadata (Kamcord.MetadataType.other, "Loser", loser.name);
            Kamcord.SetDeveloperMetadataWithNumericValue (Kamcord.MetadataType.other, "Length", "Seconds", gameplayDuration);
        
            firstVideoRecorded = true;

            Kamcord.ShowView ();
    }

Set up the keys on the prefab and drag it to the main UFE scene, then attach the RecordingGUI to that GameObject

That's it. Now when you complete a match, the share option will appear over the end-game menu and allow you to save or share the video before continuing with the game.

14

(13 replies, posted in Showcase)

Couldn't tell the difference between "kre83d" and "roswell108"?

It's hard to take anyone seriously after that.

15

(13 replies, posted in Showcase)

kre83d wrote:

Thanks for registering here in the forum today just to give your oppinion on this thread.

What you really meant was:

We did a beat em up with no features like story mode or multiplayer, only arcade because its based on UFE  (and thats what a tool of the asset-store is for: making games), our producer sells it for 7 euro because we are independent and there are no in-app-items to sell
So fans would buy it because of the idea of the famous rappers in there, who sponsor our game also with their voice ect. and  because of the funny gameplay! Yes, we did it. I tell you, so can anybody here.

It sounds like someone that couldn't buy the engine mad at how easily a game was built with it.

It's not the next evolution in mobile gaming, but it works and there are non-generic characters. Even getting that usually costs 2.99 before adding in the cost of having actual voice actors.

16

(8 replies, posted in UFE 1 Source (Deprecated))

Steviebops wrote:

Sorry to bump a post, but I haven't fixed this on my own yet.

Go into the MecanimControl.cs and comment the line [RequireComponent (typeof (Animator))]

Just make sure there is always an animator because you are no longer verifying it automagically.

17

(105 replies, posted in UFE 1 (Deprecated))

Domainator wrote:
Grave174 wrote:

Can I make a suggestion for the next update? what do you think about adding a VS screen after the stage select screen.


This can easily be coded in with some C# knowledge.

You don't even need much.

Use the code for 3d model selection on a new prefab. Have stage selection launch the new prefab and the new prefab start the game.

It would still be nice to see some of this added as options instead of having a whole new engine built from forum tips.

18

(3 replies, posted in Showcase)

This is a game I am developing for the Gear VR using Unity, UFE, and the z-axis mod by steviebopps along with a lot of the modifications I have posted in the tips section and a few I haven't.

The game is only about 2 weeks in and this is an early preview of how the final product is going to look.

The process for testing a Gear VR application is tedious and requires a lot of modifying and the right hardware, so I will try to capture enough video instead.

Here is the first preview of the game:

[media]http://youtu.be/DAvotBm-PDI[/media]

19

(13 replies, posted in Showcase)

Do you have a link to it? All I could find was a rap battle game (not fighting).

Edit: found it by going through the website.

YumChaGames wrote:

Why not just add StarSystem game object [drag prefab from Project into Scene but...] as child of the Intro prefab?

You can't stack prefabs, technically.  Any prefab (A) you add to another prefab (B) is just like adding those game objects to the 2nd prefab.  All this means is to change the properties of the A game object inside the B prefab, you need to open the stack of B and change the A child inside; changing the original A prefab will not edit the A inside the B prefab, only single instances of the A prefab.

Hope that makes sense...

This is read:

Drag gameobject A to a scene to make it a regular gameobject.

Make gameobject B a child of gameobject A and update it relative to A, not the scene.

Replace the prefab for A by dragging the updated A back to the prefab.

21

(7 replies, posted in UFE 1 (Deprecated))

YumChaGames wrote:

Ah, I didn't view it on Youtube, so didn't know it was part of a tutorial wink.

That's good though, as that would be the way to do it.

STILL!!  My point about misaligned hitboxes applies.  Just be careful with how you're skinning and assigning hitboxes and that should avoid any issues there...

roswell108 wrote:

Bones - Just a hierarchy of GameObjects. The transforms are what the system uses

This is true, but it's important to ensure alt versions of characters behave the same as regular versions.  If your costume has longer arms (therefore granting more range), then that costume is always better to pick than the regular one.

I would hope that in most cases, 3D artists are referring the same base rig anyway when creating alt costumes, so that should avoid this issue too.

The only exception to this, is if you actually want the alt costumes to behave differently.  I could see a case for this, especially in a game with a small cast and many costume options that can alter gameplay.

The "" is how the tutorial starts off. Any disagreement should probably be taken up with the author.

The tutorial provided there was used in Blade NPC and appears to work well. It isn't too hard to add the mesh and textures onto the same rig in Blender. The only reason it wouldn't work would be trying to cut corners by using two separate models.

If you have fuzzy AI installed, you may want to fix a typo. Open up RuleBasedAI.cs and scroll down to line 393.
This will be in the section for jumping straight, but you may notice that the code says

ButtonPress[][] jumpSimulatedInput = this.jumpBackwardSimulatedInput;

which should be changed to

ButtonPress[][] jumpSimulatedInput = this.jumpStraightSimulatedInput;

23

(7 replies, posted in UFE 1 (Deprecated))

YumChaGames wrote:
Domainator wrote:
YumChaGames wrote:

*snip*

Probably the safest thing to do is just use alt materials/textures/colors for alt colors.  And for costumes have additional clothing as game objects that are parented to the rig (base rig is essentially naked body).  This way, you don't actually change the base prefab, and you can potentially code this up to work in runtime as well (swapping out parts of the model).

So what your saying is if you wanted to have costumes such as a original model wears a shirt and pants then the costume version is him in a monkey suite or something it won't work?

Admittedly, my emphasised quote above implies the clothing is in chunks and doesn't require skinning/weights (like armour).

But it should also be possible to do it with skinned meshes, and it will definitely need the same hierarchy on the rig used.

Again, I would advise to keep a tight reign on the rig used to avoid even the slightest difference in a bone's position/rotation/scale to ensure hitboxes aren't altered for new costumes.

That link above IS how to do it. It's a full tutorial, including scripts and explanations.

"Ok, here we go, finally got around to jotting a bit down!

Bones - Just a hierarchy of GameObjects. The transforms are what the system uses
Animation Clips - Collection of vectors to modify transforms. Animation clips reference the bone by name I believe (although I haven't tested this fully, it works in my scripts).

So, you want to stitch some models together to share the bones and share an animation component. Took me a bit to figure this out, then again I'm a bit slow smile"

Domainator wrote:
Mistermind wrote:

Here: http://www.ufe3d.com/doku.php/global:round

Under Initial Spawn Position


Not the spawn of players... The spawn of the prefabs such as IntroScreen.prefab

UFE.cs

Look for controlScreen

25

(6 replies, posted in UFE 1 (Deprecated))

Mistermind wrote:

For organization purposes, please create a forum threat with that question instead of replying the welcome note.

Thank you!

Threats aren't very welcoming lol