WillKen's Blog.

WillKen's Blog.

it's better to burn out than to fade away

3D游戏编程与设计-UI系统
UI系统血条(Health Bar)的预制设计。具体要求如下 分别使用 IMGUI 和 UGUI 实现 使用 UGUI,血条是游戏对象的一个子元素,任何时候需要面对主摄像机 分析两种实现的优缺点 给出预制的使用方法 IMGUI实现项目地址 IMGUI及时模式图形界面。它是代码驱动的 UI 系统,没有图形化设计界面,只能在 OnGUI 阶段用 GUI 系列的类绘制各种 UI 元素,因此 UI元素只能浮在游戏界面之上。 我们使用HorizontalScrollbar的宽度显示血量:GUI.HorizontalScrollbar(HealthBar, 0.0f, health, 0.0...
3D游戏编程与设计-粒子系统
粒子系统 使用粒子流编程控制制作效果 “粒子海洋”+“粒子光环“   本次作业选择第三项,使用粒子流编程完成一些效果。粒子光环的制作在课上完成的粒子海洋的基础之上。 项目地址 粒子光环的制作 添加GameObject->Particle System。分别命名为ParticleCirclefixed-x、ParticleCirclefixed-y、ParticleCircleSpread。Spread表示颜色加在粒子本身上,不管粒子如何运动其本身颜色不变,从视觉上看,随着粒子运动颜色实现了扩散;fixed表示颜色是按照位置显示的,即粒子在不同的坐标下颜色是不同...
3D游戏编程与设计-模型与动画
3D游戏编程与设计-模型与动画智能巡逻兵 游戏设计要求: 创建一个地图和若干巡逻兵(使用动画); 每个巡逻兵走一个3~5个边的凸多边型,位置数据是相对地址。即每次确定下一个目标位置,用自己当前位置为原点计算; 巡逻兵碰撞到障碍物,则会自动选下一个点为目标; 巡逻兵在设定范围内感知到玩家,会自动追击玩家; 失去玩家目标后,继续巡逻; 计分:玩家每次甩掉一个巡逻兵计一分,与巡逻兵碰撞游戏结束; 程序设计要求: 必须使用订阅与发布模式传消息 subject:OnLostGoal Publisher: ? Subscriber: ? 工厂模式生产巡逻兵 友善提示1:生成 3~5个边的...
3D游戏编程与设计-物理系统与碰撞
物理系统与碰撞改进飞碟(Hit UFO)游戏 游戏内容要求: 按 adapter模式 设计图修改飞碟游戏 使它同时支持物理运动与运动学(变换)运动 这次作业时对上次作业的一次改进。 将Base中关于action的部分提出来,单独建立action_Adapter.cs,首先定义interface接口。 123456789public interface UFO_action { void SetSpeed(int speed); void Start(); void Running(bool run); ...
3D游戏编程与设计-与游戏世界交互
与游戏世界交互编写一个简单的鼠标打飞碟(Hit UFO)游戏 游戏内容要求: 游戏有 n 个 round,每个 round 都包括10 次 trial; 每个 trial 的飞碟的色彩、大小、发射位置、速度、角度、同时出现的个数都可能不同。它们由该 round 的 ruler 控制; 每个 trial 的飞碟有随机性,总体难度随 round 上升; 鼠标点中得分,得分规则按色彩、大小、速度不同计算,规则可自由设定。 游戏的要求: 使用带缓存的工厂模式管理不同飞碟的生产与回收,该工厂必须是场景单实例的!具体实现见参考资源 Singleton 模板类 近可能使用前面 MVC 结构实现人机...
3D游戏编程与设计-游戏对象与图形基础
游戏对象与图形基础基本操作演练 下载 Fantasy Skybox FREE, 构建自己的游戏场景 (因为Fantasy Skybox FREE 与本地Unity5.0.0版本不兼容,所以下载了Skybox Series Free) 写一个简单的总结,总结游戏对象的使用 在Asset store中下载相应的天空盒。下载结束后,将其import进我们的项目。 接着可以创建matrial,自己贴上六面的天空盒,当然也可以使用预置的scene直接观察效果。 编程实践 牧师与魔鬼 动作分离版 【2019新要求】:设计一个裁判类,当游戏达到结束条件时,通知场景控制器游戏结束 &em...
MOSAD_HW2
MOSAD_HW2个人作业2-面向对象与Objective-C语法学习。 实验目的 学习掌握Objective-C语法,掌握基础字符串操作。 OO知识——多态与继承 实验内容给定三个用户张三,李四,王五。 给定四种语言英语、日语、德语、西班牙语。 实现场景输出(log形式即可):随机选择一个用户和一种语言学习,从当前日期开始,随机产生时间进行学习,输出学习进度直至学习完毕。每个语言共8个tour,每个tour共4个unit,每次学习一个unit。 要求: 随机选定人名、语言后,一次性输出所有的结果。 随机时间指的是每次随机1-5天,每次学习时间在前一次的基础上加上刚刚随机出的天数。 ...
朴素贝叶斯分类器&A*算法
朴素贝叶斯分类器 理论求解根据题意:   100封垃圾邮件中有5封包含“中奖”,则P(中奖|垃圾) = 5%   1000封正常邮件中有1封包含”中奖”,则 P(中奖|正常) = 0.1%   假设“邮件是垃圾邮件”为事件$ B{1} $,“邮件是正常邮件”为事件$B{2}$,“邮件中含有‘中奖’这一关键词”为事件$A$。   我们有$P(B{1})=P(B{2})=50\%$,$P(A|B{1})=5\%$,$P(A|B{2})=0.1\%$ 则根据贝叶斯定理: P(B|A)=\frac{P(A|B)P(...
3D游戏编程与设计-空间与运动
3D游戏编程与设计-空间与运动简答并用程序验证 游戏对象运动的本质是什么? 游戏对象运动的本质是通过矩阵变换在每一帧改变游戏对象的position、rotation、scale等属性的参数。 请用三种方法以上方法,实现物体的抛物线运动。(如,修改Transform属性,使用向量Vector3的方法…) 修改Transform属性 123456789101112131415161718192021222324using System.Collections;using System.Collections.Generic;using UnityEngine;public class N...
Objective-C Notes
Objective C Notes声明:本博客参考了易百教程和菜鸟教程 类的声明:@interface child : father 方法的实现: @implementation child (不用制定父类) .h文件中声明public methods .m文件中声明private methods @interface 类名后加个括号:Objective-C 2.0中的Category语法 ,Category提供了一种比继承(inheritance)更为简洁的方法来对class进行扩展,我们可以为任何已经存在的class添加方法。 Defining Methods: 12-(...
avatar
WillKen
witness me