étude: Nodule C# Programming for Creative Explorations (Unity 6)
"étude" making simple multi-characters in a Nodule with Yana (middle) and her friends Pamiricum (left) and Electric Doll (right)

étude: Nodule C# Programming for Creative Explorations (Unity 6)

Click on image to view the video

Free Form Nodule with Yana (middle) and her friends Pamiricum (left) and Electric Doll (right)


An étude (/?e?tju?d/; French: [e.tyd]) or study is an instrumental musical composition, usually short, designed to provide practice material for perfecting a particular musical skill.


Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License

Discourse

Tahir Gholizadeh is a naturally gifted individual with a wide spectrum of abilities and interests. He has composed and sang and recorded with his heavenly voice which touched the listeners even at a very young age.?

Tahir currently serves as an Associate Producer for one of CCN’s productions with the Museum of Science Fiction (MOSF).?

He has recently decided to embark upon some programming suitable for the latter project and is considering using the Free Form Nodules as his first stepping stone.?

Darragh: Free Form Nodules were conceived to create an Experiential Learning Habitat for anyone who needs to use programming for some 3D productions without becoming a software engineer nor a 3D model designer! In short, Experiential Learning occurs when one is building something and learns as construction ensues.?

Learning Habitat: “Classrooms should be filled with thousands of artful designs and inspirations turned into computational environments conducive for more enthusiastic learning.

Such a computational environment is indeed a Learning Habitat. A place wherein the artistic designs, computers and learners cohabitate.”?

Source:https://www.dhirubhai.net/pulse/transforming-art-learning-habitat-unity-platform-free-o-sheada-tchwe/

Tahir: I played around with some C# classes in the example Nodules Darragh provided and given the fact that I have never programmed in my life, I found it fascinating and frankly awe inspiring that I actually could modify the existing C# scripts to do something new in a 3D interactive scene on Unity engine! Readers should note that I had simply attended a few interactive discussions online, between Boston and Campile/Ireland when Darragh explained and modified some of the scripts. I simply applied what I learned from the Nodule code itself!?

Darragh: What you did was you Experienced the 3D dynamics of the application while examining the Nodule code and few changes here and there, and without the need to restart the running Nodule you could review and examine your changes. This instant review of your scripting is the core competency of the Nodule’s software and system architectures.??

Tahir: Actual your incessant emphasis on developing my technical reading comprehension of the scripts, which I found annoying, turned out to be the gold that bootstrapped my programming:?

  1. What to read in the C# classes?
  2. What not to read (ignore) which was even more important and fruitful?
  3. And what in the world is a Class and why is it there! Why do I need to read it!?

Darragh: I learned from John Von Neumann, one of the early leading Quantum Mechanics theoreticians:

"In mathematics, you never understand things; you just get used to them."

John von Neumann

Accordingly, John von Neumann’s enlightened statement is the core strategy for providing the Free Form Nodules.?

Tahir if you were planning to speak Japanese for the first time, you would not have started by reading a novel or doing Shodō (Japanese calligraphy); you always start by a) memorizing a few simple customary phrases and b) repeating over and over again while modifying them a bit to get used to the phrases and their use!?

Those customary phrases turn out to be blocks of code or patterns of code (glorified vernacular).

Below I annotated these blocks with //Being and //End comments for Tahir's eyes to get used to the patterns of syntax and as time goes by associate semantics to these patterns of code as opposed to learn nitty gritty details which contribute nothing to produce the desired end result.?

using UnityEngine;

using Unity.Cinemachine;


public class SpawnPlayer2 : MonoBehaviour
{

    Animator anim;
    GameObject player;
    public GameObject followcamera;
    public GameObject ground;

    void Start()
    {

        if (CsharpGlobals.ground != null)
        {

            //Begin making a character called pamiricum

            GameObject prefab = Resources.Load("characters/Player") as GameObject;
            player = Instantiate(prefab, new Vector3(0f, 0f, 0f), Quaternion.identity);
            anim = player.GetComponent<Animator>();

            prefab = Resources.Load("characters/pamiricum") as GameObject;
            GameObject character = Instantiate(prefab, new Vector3(0f, 0f, 0f),  
                                                        Quaternion.identity);

            character.transform.SetParent(player.transform, false);

            Avatar avatar = character.GetComponentInChildren<Animator>().avatar;

            anim.avatar = avatar;

            //End


            //Begin making a character called yana

            prefab = Resources.Load("characters/Player") as GameObject;
            player = Instantiate(prefab, new Vector3(0f, 0f, 2f), Quaternion.identity);
            anim = player.GetComponent<Animator>();

            prefab = Resources.Load("characters/yana") as GameObject;
            character = Instantiate(prefab, new Vector3(0f, 0f, 0f), Quaternion.identity);

            character.transform.SetParent(player.transform, false);


            avatar = character.GetComponentInChildren<Animator>().avatar;

            anim.avatar = avatar;
            //End


            //Begin making a character called electric_doll

            prefab = Resources.Load("characters/Player") as GameObject;
            player = Instantiate(prefab, new Vector3(0f, 0f, 2f), Quaternion.identity);
            anim = player.GetComponent<Animator>();

            prefab = Resources.Load("characters/electric_doll") as GameObject;
            character = Instantiate(prefab, new Vector3(-2f, 0f, 0f), Quaternion.identity);

            character.transform.SetParent(player.transform, false);


            avatar = character.GetComponentInChildren<Animator>().avatar;

            anim.avatar = avatar;

            //End


            prefab = Resources.Load("cameras/Freelook0") as GameObject;
            var freelook = Instantiate(prefab, new Vector3(0f, 0f, 0f), Quaternion.identity);
            freelook.GetComponent<CinemachineCamera>().Follow=player.transform;


            //bookkeeping 
            CsharpGlobals.player = player;
        }


    }

    void Update()
    {
        

    }

}        

Tahir: Well, now I would like to learn more Free Form Nodules programming and build my own Platform 3D game …?

Darragh: Ok! I am in deep trouble! Might have created a monster here ha ha ha


Quick Start: Free Form Nodule Programming

All that which required from software to downloads to sample projects and scripts and documentation are found in this link:

https://wiki.ccnstudios.com/en/freeform/nodules/setup/editor

  • Sample Nodules: This will be a growing list of Nodules with soul focus on training the newbies while doing impressive stuff and including gorgeous characters and assets.
  • For now Nodules have a few built-in animated Anime characters. Very soon we add cloud systems to accommodate much larger character sets and general assets.
  • Builds: Simple unzip and a local executable called Construct which provides the computing environment for any and all Free Form Nodules
  • Privacy: CCN (our Dublin corporation) does not collect IP address/Geo-Location of the viewers or players and does not sell user data ever! Email and other personal contact data used only for account management.

First Nodule Demonstration

Incredibly beautiful Japanese packaging scanned by Atsushi Nakabayashi:

Click on image to view the video

うまい棒(賞味期限切れ): Expired Delicicous Bar

This is a simple demonstration but complete and with the latest API from Unity 6 which flawlessly runs on multiple operating systems and Free Form Nodule which constructed the scene could easily be learned and modified by the newbies.


Next Issue: 5th of June 2024


要查看或添加评论,请登录

Darragh O'Sheada的更多文章

社区洞察

其他会员也浏览了