Создать в среде 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, просмотров: 240.