Создать в среде Unity на языке C# скрипт, выполняющий непрерывное перемещение объекта по сцене с заданной скоростью по заданному направлению при нажатии на клавишу клавиатуры
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Создать в среде Unity на языке C# скрипт, выполняющий непрерывное перемещение объекта по сцене с заданной скоростью по заданному направлению при нажатии на клавишу клавиатуры

 

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

public class zad1 : MonoBehaviour

{

  

void Update()

 

{

      

if(Input.GetKey(KeyCode.Space))

   { 

    float speed = 18.0f; 

    Vector3 pos=transform.position;

    Vector3 npos=new Vector3(pos.x+1/speed,pos.y,pos.z);

    transform.position=npos;

   }

       

}

}

 

Создать в среде Unity на языке C# скрипт, выполняющий произвольное вращение объектов с заданной скоростью с помощью функции Rotate и углов Эйлера.

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

public class ZAD2 : MonoBehaviour

{

/*Так ТУТ ВНИМАНИЕ нужно клинкнуть по кубику и задать ему тег (создать новый) аналогичные тем что в коде cube_1 и cube_2 */

public GameObject cube_1;

public GameObject cube_2;

public float speed=0.3f;

public float horiz;

public float vert;

   

// Start is called before the first frame update

void Start()

{

    cube_1 = GameObject.FindWithTag("cube_1");

    cube_2 = GameObject.FindWithTag("cube_2");

       

}

 

// Update is called once per frame

void Update()

{

    if (gameObject.CompareTag("cube_1"))

   {

   

      cube_1.transform.Rotate(0,speed,0);

 

   }

   if (gameObject.CompareTag("cube_2"))

   {

      horiz += 0.1f;

      vert += 0.2f;

     cube_2.transform.eulerAngles = new Vector3(vert,horiz,0f);

        

 

   }

 

}

}

Создать в среде Unity на языке C# скрипт, выполняющий вращение объекта с заданной скоростью вокруг заданной оси с помощью кватернионов.

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

public class zad3 : MonoBehaviour

{

/*Для вращения в двух осях раскомментить последние строчки */

 // Start is called before the first frame update

Quaternion orig;

float angl;

void Start()

{

   orig = transform.rotation;

}

 

// Update is called once per frame

void Update()

{

   angl += 0.6f;

   Quaternion rotY = Quaternion.AngleAxis(angl,Vector3.up);

/* Quaternion rotX = Quaternion.AngleAxis(angl,Vector3.left);*/

   transform.rotation=orig*rotY/* *rotX*/;

}

}

Создать в среде Unity на языке C# скрипт, генерирующий рождение объекта с падением его на плоскость при нажатии на определенную клавишу на клавиатуре.

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

public class z5 : MonoBehaviour

{

/*скрипт на мэйн камера */

 

// Start is called before the first frame update

void Start()

{

      

}

 

// Update is called once per frame

void Update()

{

       

      

            if(Input.GetKeyDown(KeyCode.Space))

                     {

                  GameObject cub=GameObject.CreatePrimitive(PrimitiveType.Cube);

                  cub.transform.position=new Vector3(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f));;

                   cub.AddComponent<Rigidbody>();

   }

     

}

}

Создать в среде Unity на языке C# скрипт, генерирующий рождение объекта из префаба с падением его на плоскость при нажатии на определенную клавишу на клавиатуре.

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

public class z4 : MonoBehaviour

{

// Start is called before the first frame update

/*

Добавите на  сцену 3D-объект типа Plane – горизонтальную плоскость, добавьте       компоненту

Rigidbody уберите    в    ней гравитацию Gravity и установите     режим      Is    Kinematic. Создайте  в    этой  

же сцене   объект 3D-объект типа Sphere       и также добавьте компоненту Rigidbody, но  оставьте       

все параметры     по   умолчанию. Применим к ней этот скрипт. Далее создадим префаб перетащив в Ассетс, а скрипт применяем к ГЛАВНОЙ КАМЕРЕ

И нужно там где компонента скрипт выьрать прфабом существущий префаб сферы (см рисуночек)*/

public GameObject prefub;

// Update is called once per frame

void Update()

{

       

     

   if(Input.GetKeyDown(KeyCode.Space))

   {

       Vector3 position =new Vector3(Random.Range(-0.5f,5.0f), Random.Range(1f,10.0f),Random.Range(-0.5f,5.0f));

       Instantiate(prefub,position, Quaternion.identity);

       /*prefub.AddComponent<Rigidbody>(); НО ТУТ НЕ РАБОТАЕТ, ПРОСТО ЕСЛИ СПРОСЯТ*/

           

   }

}

}

Создать в среде Unity на языке C# скрипт, перемещающий объект вперед, назад и в стороны при нажатии на зарезервированные клавиши (WASD) на клавиатуре.

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

 

public class var2 : MonoBehaviour {

public float speed = 1f;

 

// Use this for initialization

void Start()

{

}

 

// Update is called once per frame

void Update()

{

   float h = Input.GetAxis("Horizontal");

   float v = Input.GetAxis("Vertical");

 

   Vector3 tempVect = new Vector3(h, v, 0);

   tempVect = tempVect.normalized * speed * Time.deltaTime;

   transform.position += tempVect;

}

}

Создать в среде Unity на языке C# скрипт, выполняющий непрерывное перемещение объекта по сцене с заданной скоростью по заданному направлению при нажатии на клавишу клавиатуры

 

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

 

public class zad1 : MonoBehaviour

{

  

void Update()

 

{

      

if(Input.GetKey(KeyCode.Space))

   { 

    float speed = 18.0f; 

    Vector3 pos=transform.position;

    Vector3 npos=new Vector3(pos.x+1/speed,pos.y,pos.z);

    transform.position=npos;

   }

       

}

}

 

Дата: 2019-07-24, просмотров: 210.