Game Scene Final Project Post

 


Final Post

This project is “Animal Crossing track in Mario Kart 8”. 

For this project, I was joining the final project as 3D modeler, texture artist, UI designer, programmer, VFX artist, and Audio environment designer. Through this project, I was always focusing on the exporting format. I focused on exporting the fbx file with triangulated and mesh combined. When I shared my work, I uploaded the Unity package with prefabs of textured 3D objects to make importing easier. I think I did many various things in this project. I was especially working hard on VFX because I only had a short experience of designing particle systems.

I studied a particle system in Unity for this project and succeeded in creating good VFXs. When I created spark particles, I referred to an online tutorial. However, when I created a boost particle, I made an original particle and I believe that the spark tutorial was helpful to understand the particle system. 

The other thing I challenged is a scrolling texture. There were two challenges to complete the scrolling texture. First problem was the number of UV maps that were limited. If I prepare 1 transparent UV map, it will compress the whole UV map. Second thing is programming. I was a computer science major before but I cannot say that I am good at programming. Even if I copied the code from the referred website, that would not work.

To solve this problem, what I did first was editing the base color map. I textured other objects first. And made a transparent area in the empty space. In the transparent area, I added another zig-zag texture as it can scroll. Secondly, I created my own code by referring to other’s code. I just changed Y value in an UV location, and made the scrolling texture look natural by controlling an interval.

Overall, I think I could develop my skill of particle system, Audio, and programming inside of Unity. Also, I realized that working when exporting is important again.



Final Week Sprint 




For the Final week, I was working on Audio and UI. For audio, I edited engine sound by Audacity, as the audio track repeats naturally.
I also did setting of all audio with audio mixer in Unity. I made each group and added output channels. I added distortion filter on SE output.

I made UI, time count and lap count UI setting. 


Week 6 Sprint

For this week, I was working on this texture


There are two models for the ramp



This is a scrolling script
    float offsetX, offsetY, realtime;
    new Vector2 origin;
    public float speed = 1; // make it -0.1 in Unity
    public double rooptime = 3.9;
    void Start()
    {
        offsetX = this.GetComponent<Renderer>().material.mainTextureOffset.x;
        offsetY = this.GetComponent<Renderer>().material.mainTextureOffset.y;
        origin = new Vector2(offsetX, offsetY);
    }

    void Update()
    {
        realtime += Time.deltaTime;
        offsetY = realtime * speed;
        this.GetComponent<Renderer>().material.mainTextureOffset = new Vector2(offsetX, offsetY);
        if(realtime > rooptime)
        {
            realtime = 0;
        }
    }

I made transparent area and place UV of ramp top, and this is albedo texture map.
UV of Ramp Top moves from top to bottom

Week 4 Sprint

 For this week, I spent time to do modeling.



Also, I was texturing
The texture with blue is temporary and make it easier to edit in Photoshop. Because I am planning to scroll the texture inside of Unity to express boost ramp.


Yellow and orange color textures will be a background texture of boost ramp, and moving texture will be on the transparent texture area. And my plan is like...



White texture will scroll of the right image.
For next 2 week, I'll make texture scroll programming, other texturing, and other programming.

Week 3 Sprint

 For this week, I've taken down by my health issue, so I could not spend time to do my work.

What I did is to change particles from 2022 to 2020 version (I misunderstood the version of Unity we are working on). Above gif image is after editing particles to 2020.

This is what I made in Photoshop little quick.


This video is about boosting when the kart is accelerated. Below source code is edited version of the previous work, added public string variable. This part can be a game object in future. I use same source code but this input will be changed in future to the bool. 

    public string name;
    const float StopDuration = 100000.0f;
    ParticleSystem ps;
    void Start()
    {
        ps = transform.Find(name).GetComponent< ParticleSystem>();
        ChangeParticle(StopDuration);
        ps.gameObject.SetActive(false);
    }
    void Update()
    {
        if (Input.GetKeyDown("w"))
        {
            ps.gameObject.SetActive(true);
            ChangeParticle(0.1f);
        }
        else if (Input.GetKeyUp("w"))
        {
            ChangeParticle(StopDuration);
        }
    }
    public void ChangeParticle(float speed)
    {
        ps.Stop();
        var main = ps.main;
        main.duration = speed;
        ps.Play();
    }

I'm running with above source code now, but


    public gameObject Particle;
    ps = Particle.GetComponent< ParticleSystem>();

bool switch = false; if (switch) { } else if (!switch) { } }

they will be replaced as new codes



For the modeling, I made Pear Tree and LOD.


Week 2 Sprint






 

I referred images from Animal Crossing because the stage is based on the Animal Crossing.

All leaves have same texture, place leaves with referencing sphere, and change overall shape with Lattice tool.


Week 1 Sprint

 For the first week, I began with creating particles of spark from tire when the cart drifts the ground.

If I made the particle to stop with SetActive(false), the whole living particles disappear in the same time. So I made it is controlled by pulling duration and change it.

Input value is temporary input. This should be bool value in future.

The reason why I made the particle SetActive(false) at first because there will be a single burst when the game begin but the player do not select drifting.




Comments

Popular posts from this blog

Sprint 2 CAGD 495

Sprint 5 CAGD 495