Unity 3d 子弹的瞄准、旋转与移动
建立一个平面,并贴图
建立一个立方体,为立方体建立一个材质,把材质绑定(拖)立方体上
修改材质
双击颜色控件
创建脚本
创建的脚本名称必须与类的名称一致
配置脚本编辑器 VS2019
代码扩展功能正常即可
摄像头脚本(绑定到立方体)
这样就可以移动摄像头
using System.Collections; using System.Collections.Generic; using UnityEngine;public class CameraMoveControl : MonoBehaviour {public float speed=0;// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){float h= Input.GetAxis("Horizontal")*speed*Time.deltaTime;float v= Input.GetAxis("Vertical")*speed*Time.deltaTime;transform.Translate(h,0,v);} }
操作脚本(绑定到子弹)
WSAD 移动子弹
鼠标左键子弹旋转
鼠标右键向另一个胶囊体移动并画线
using System.Collections; using System.Collections.Generic; using UnityEngine;public class VO : MonoBehaviour {Vector3 v1=new Vector3(3,0,0);Vector3 v2=new Vector3(0,0,2);Vector3 v;Quaternion quaternion;float vdot;public float speed;public Transform target;//!float angleval=15;// Start is called before the first frame updatevoid Start(){VectorDistance();vdot=Vector3.Dot(v1,v2);Debug.Log("the dot of v1 and v2="+vdot);v=Vector3.Cross(v2,v1);Debug.Log("the cross of v2 and v1="+v);}// Update is called once per framevoid Update(){Move();if(Input.GetMouseButton(0)){angleval+=angleval*Time.deltaTime;transform.rotation=Quaternion.AngleAxis(angleval,Vector3.up);}if(Input.GetMouseButton(1)){transform.rotation=Quaternion.LookRotation(target.position-transform.position);Debug.DrawLine(transform.position,target.position,Color.white,10f);transform.Translate(Vector3.forward*speed*Time.deltaTime);}}void VectorDistance(){float distance;distance=Vector3.Distance(v1,v2);print("the dis of v1 and v2 ="+distance);}private void Move(){if(Input.GetKey(KeyCode.W)){transform.Translate(Vector3.forward*speed*Time.deltaTime);}if(Input.GetKey(KeyCode.S)){transform.Translate(Vector3.back*speed*Time.deltaTime);}if(Input.GetKey(KeyCode.A)){transform.Translate(Vector3.left*speed*Time.deltaTime);}if(Input.GetKey(KeyCode.D)){transform.Translate(Vector3.right*speed*Time.deltaTime);}} }
创建一个胶囊体作为target,在脚本vo的设置中把target设置为胶囊体
效果
鼠标左键旋转,鼠标右键对准绿胶囊并向其运动
Unity 3d 子弹的瞄准、旋转与移动相关推荐
- Unity 3D鼠标操作实现旋转、缩放观察物体
1.实现思路:操作摄像头围绕物体中心点(远点),做球面旋转移动来实现旋转观察物体,控制球的半径大小来实现物体的缩放效果. 2.C#摄像头源码脚本 //放在摄像头上,实现旋转.缩放观察物体 using ...
- [Unity] Unity 3D 中的旋转
Unity 3D 中的旋转 一.Unity 3D 中 Rotation 在Unity中,旋转通常可以用一个三维向量(x,y,z)表示.实际上这是欧拉角.三个分量分别是绕x轴.y轴和z轴的旋转角度. 要 ...
- unity 3D模型展示旋转缩放
目标: 在UI层上 自由观察3D 模型,实现鼠标控制模型的旋转,缩放&& 触摸屏手势控制模型的旋转缩放控制: 这里仅将控制代码挂载到相机上,通过对相机的控制来观察模型. 基本上为最小单 ...
- Unity三维游戏开发C#编程大师班 Masterclass In C# Programing Unity 3D Game Development FPS
本课程采用现代游戏开发(Unity 2021)的最新内容和最新技术 学习任何东西的最好方法是以一种真正有趣的方式去做,这就是这门课程的来源.如果你想了解你看到的这些不可思议的游戏是如何制作的,没有比这 ...
- 雨松MOMO《Unity 3D游戏开发》源码公布
原创文章如需转载请注明:转载自雨松MOMO程序研究院 本文链接地址:雨松MOMO<Unity 3D游戏开发>源码公布 下载源码时,首先大家请登陆图灵社区找到<Unity 3D游戏开发 ...
- Unity 3D游戏编程自学#3——Unity 3D初步
1.开始 在创建的项目文件夹中,各个子文件夹的作用: Assets:保存游戏所需资源. Library:保存当前项目运行所需要的库. ProjectSettings:保存项目设置信息. Temp:保存 ...
- Unity学习笔记:Unity 3D 飞机大战
Unity学习笔记:Unity 3D 飞机大战 1.打开unity软件后,首先新建Quad作为背景,导入飞机模型,并为其添加刚体 然后创建C#脚本,挂载到飞机上. 2.给飞机创建子弹,让子弹成为预制体 ...
- Unity 3D游戏开发项目《战斗吧!勇士》
目录 版权声明:本博客涉及的内容是对本人游戏作品<战斗吧!勇士>项目的总结,发布在网络上,旨在大家交流学习.互相促进.严禁用于其他一切用途. 摘要 游戏开发技术概述 Unity 3D 游戏 ...
- Unity 3D学习视觉脚本无需编码即可创建高级游戏
在本课程中,您将学习如何在Unity中使用可视化脚本(以前称为Bolt)以及如何在不编写一行代码的情况下创建自己的高级游戏所需的一切.本课程将教你如何掌握可视化脚本,即使你以前没有任何关于unity或 ...
最新文章
- python怎么样处理excel教程_python处理excel教程是什么
- php定义枚举,PHP中Enum(枚举)用法实例详解
- 关于 UDP Hole Punching 的资料
- Spring Cloud Gateway(路由)
- 时序分析:使用卡尔曼滤波
- 微型嵌入式操作系统对比
- linux red hat 安装svn
- windows 安装mongodb
- C# EntityFramework连接MySQL (DbFirst)
- CSS——可视化格式模型
- 易学易用的Windows PowerShell(转)
- JAVA转为wasm/JavaScript,可以考虑CheerpJ
- [AHK]双击Ctrl+C调用谷歌翻译!
- 虚拟机VMware安装PhoenixOS(凤凰OS)
- 奇摩,你来大陆干什么?
- 记一个docker网络问题--network=host
- oracle出现ora 12514,ora-12514报错解决方法
- iOS开发通过微信学习hijack(一)函数劫持
- Faker最新仓库地址更新 4/6
- 并行计算求pi值C语言,使用并行计算求圆周率π.pdf