鼠标交互之鼠标拖动物体
将代码放置在被拖动的物体上
public Camera mainCamera;//相机悬挂
private void OnMouseDrag()//拖动物体的碰撞体
{
Ray r = mainCamera.ScreenPointToRay(Input.mousePosition);
//把相机鼠标坐标位置转换相机射线,生成射线
RaycastHit hit;
if (Physics .Raycast (r,out hit, 1000, 1))//遮罩层级为1
//利用Raycast函数获取碰撞点信息
{
transform.position = new Vector3(hit.point.x, hit.point.y + 0.5f, hit.point.z);
Debug.DrawLine(r.origin, hit.point, Color.red);
}
}
键盘交互之虚拟轴开关灯
将代码放置在灯上,设置虚拟轴的键盘+-改变数值
文章来源:https://www.toymoban.com/news/detail-503302.html
public Light mainLight;
float moveSpeed = 0.5f;
void Update()
{
float intensity = Input.GetAxis("Light"); //强度
float targetIntensity = mainLight.intensity + intensity * moveSpeed * Time.deltaTime;//强度在0到1之间缓慢变化
if(targetIntensity >=0 && targetIntensity <=1.0f)
{
mainLight.intensity = targetIntensity;
}
}
键盘交互之克隆可拖动物体
将代码放置在空物体上文章来源地址https://www.toymoban.com/news/detail-503302.html
using System.Collections;
public GameObject Crystalsv;//被克隆物品
int num = 0;//计数
void Update()//实时更新
{
if (Input.GetKeyDown(KeyCode.N) && num < 4)
{
//克隆时 GameObject 的活动状态会维持
// 参数一:是预制体 参数二:实例化预制体的坐标 参数三:实例化预制体的旋转角度
GameObject.Instantiate(Crystalsv, gameObject.transform.position, gameObject.transform.rotation);
num++;
//在5的范围内
}
}
到了这里,关于unity鼠标键盘交互的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!